该用户从未签到
|
1. ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象。
) f+ y/ Z/ N* M% u0 p 2.int executeUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数。
3 C3 k9 j! [2 O8 l) U 3. boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet 。
" n; ?% W$ h: y/ b/ f0 Fexecute是executeQuery和executeUpdate的综合.' T7 P* l4 K, N+ e. I2 G) r. ]
-----8 [) e" x: ] |7 _, W
executeUpdate() 这是 PreparedStatement 接口中的方法8 G1 e! G8 G/ E4 O! a% z/ }+ ^
executeUpdate(String sql) 这是 PreparedStatement 从父接口 Statement 中继承过来的方法
* b5 U o1 A, w9 I% S# D9 U
- L' D; P* d( G; Y# k4 v6 kexecuteUpdate() 中执行 SQL 语句需要在创建 PerparedStatement 时通过 Connection 的 prepareStatement(String sql) 方法中写出,因为 PerparedStatement 中的 SQL 语句数据库需要进行预编译和缓存,因此要在创建 PerparedStatement 对象时给出 SQL 语句。8 ^; ?: d5 r6 U5 d) t5 e
1 W2 F% w) X9 t7 b而 executeUpdate(String sql) 是 Statement 中的方法,参数中的 SQL 语句只是提交给数据库去执行,并不需要预编译。/ L. j Q: J! ^) R0 G
8 z' r9 F0 T% u5 _( ^# \9 R* y" g+ ]
如果 SQL 语句中有 ? 占位符,那么在设置好占位符中的值后,必须使用 executeUpdate() 执行。而 executeUpdate(String sql) 只是提交一个 SQL 语句,且这个语句中不能带有 ? 占位符。; \# ~" B# Z9 p9 t0 Y' R2 V0 s
|
|