execute、executeUpdate、executeQuery三者的区别(及返回值)
一、boolean execute(String sql)
允许执行查询语句、更新语句、DDL语句。
返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果;返回值为false时,执行的是更新语句或DDL语句,getUpdateCount方法获取更新的记录数量。
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public static void main(String[] args) { Connection conn = null ; Statement stm = null ; ResultSet rs = null ; try { Class.forName( "com.microsoft.sqlserver.jdbc.SQLServerDriver" ); conn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName=Test;user=sa;password=sasa" ); stm = conn.createStatement(); boolean ret = stm.execute( "select * from stuinfo" ); if (ret){ rs = stm.getResultSet(); while (rs.next()){ System.out.println( "姓名:" +rs.getString( "stuName" )+ "\t年龄:" +rs.getString( "stuScore" )); } } ret = stm.execute( "update stuinfo set stuScore=62 where stuname='张三'" ); int count = stm.getUpdateCount(); if (!ret){ System.out.println(count+ "条数据修改成功!" ); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } |
二、int executeUpdate(String sql)
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
返回值是更新的记录数量
三、ResultSet executeQuery(String sql)
执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
execute是executeUpdate与executeQuery的综合
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/marvel__dead/article/details/61915446