execute、executeUpdate、executeQuery三者的區(qū)別(及返回值)
一、boolean execute(String sql)
允許執(zhí)行查詢語(yǔ)句、更新語(yǔ)句、DDL語(yǔ)句。
返回值為true時(shí),表示執(zhí)行的是查詢語(yǔ)句,可以通過(guò)getResultSet方法獲取結(jié)果;返回值為false時(shí),執(zhí)行的是更新語(yǔ)句或DDL語(yǔ)句,getUpdateCount方法獲取更新的記錄數(shù)量。
例子:
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+"條數(shù)據(jù)修改成功!"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }
二、int executeUpdate(String sql)
執(zhí)行給定 SQL 語(yǔ)句,該語(yǔ)句可能為 INSERT、UPDATE 或 DELETE 語(yǔ)句,或者不返回任何內(nèi)容的 SQL 語(yǔ)句(如 SQL DDL 語(yǔ)句)。
返回值是更新的記錄數(shù)量
三、ResultSet executeQuery(String sql)
執(zhí)行給定的 SQL 語(yǔ)句,該語(yǔ)句返回單個(gè) ResultSet 對(duì)象。
execute是executeUpdate與executeQuery的綜合
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選