execute、executeUpdate、executeQuery三者的区别(及返回值)

来源:互联网 发布:.men域名 编辑:程序博客网 时间:2024/05/17 01:02
execute、executeUpdate、executeQuery三者的区别(及返回值)

一、boolean execute(String sql)

允许执行查询语句、更新语句、DDL语句。

返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果;返回值为false时,执行的是更新语句或DDL语句,getUpdateCount方法获取更新的记录数量。

例子:

[Java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. public static void main(String[] args) {  
  2.   Connection conn = null;  
  3.   Statement stm = null;  
  4.   ResultSet rs = null;  
  5.   try {  
  6.    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
  7.    conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test;user=sa;password=sasa");  
  8.    stm = conn.createStatement();  
  9.    boolean ret = stm.execute("select * from stuinfo");  
  10.    if(ret){  
  11.     rs = stm.getResultSet();  
  12.     while(rs.next()){  
  13.      System.out.println("姓名:"+rs.getString("stuName")+"\t年龄:"+rs.getString("stuScore"));  
  14.     }  
  15.    }  
  16.    ret = stm.execute("update stuinfo set stuScore=62 where stuname='张三'");  
  17.    int count = stm.getUpdateCount();  
  18.    if(!ret){  
  19.     System.out.println(count+"条数据修改成功!");  
  20.    }  
  21.   } catch (ClassNotFoundException e) {  
  22.    e.printStackTrace();  
  23.   } catch (SQLException e) {  
  24.    e.printStackTrace();  
  25.   }    
  26.  }

二、int executeUpdate(String sql)

执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。

返回值是更新的记录数量

三、ResultSet executeQuery(String sql)

执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。


execute是executeUpdate与executeQuery的综合

0 0