execute、executeUpdate、executeQuery三者的區別(及返回值)


一、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的綜合


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM