分享

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

 昵称27831725 2015-12-22

一、boolean execute(String sql)

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

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

例子:

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的综合

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多