MySQL execute、executeUpdate、executeQuery三者的区别
execute、executeUpdate、executeQuery三者的区别(及返回值)
一、booleanexecute(Stringsql)
允许执行查询语句、更新语句、DDL语句。
返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果;返回值为false时,执行的是更新语句或DDL语句,getUpdateCount方法获取更新的记录数量。
例子:
publicstaticvoidmain(String[]args){ Connectionconn=null; Statementstm=null; ResultSetrs=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(); booleanret=stm.execute("select*fromstuinfo"); if(ret){ rs=stm.getResultSet(); while(rs.next()){ System.out.println("姓名:"+rs.getString("stuName")+"\t年龄:"+rs.getString("stuScore")); } } ret=stm.execute("updatestuinfosetstuScore=62wherestuname='张三'"); intcount=stm.getUpdateCount(); if(!ret){ System.out.println(count+"条数据修改成功!"); } }catch(ClassNotFoundExceptione){ e.printStackTrace(); }catch(SQLExceptione){ e.printStackTrace(); } }
二、intexecuteUpdate(Stringsql)
执行给定SQL语句,该语句可能为INSERT、UPDATE或DELETE语句,或者不返回任何内容的SQL语句(如SQLDDL语句)。
返回值是更新的记录数量
三、ResultSetexecuteQuery(Stringsql)
执行给定的SQL语句,该语句返回单个ResultSet对象。
execute是executeUpdate与executeQuery的综合
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!