java中的executeNonQuery()和executeUpdate()有什么区别?

时间:2013-06-10 12:12:19

标签: java sql

我在java中读过有关executeNonQuery()executeUpdate()方法的内容。但无法理解他们之间的任何差异。 它表示executeUpdate()的返回类型是指示number of rows受影响的int,如果使用0则表示DDL statement,并且用于运行给定的SQL语句,是INSERTUPDATEDELETE statement;或者不返回任何内容的SQL statement,例如SQL DD L语句。

我读到的executeNonQuery()方法也是如此。

那么这两种方法有什么区别?

2 个答案:

答案 0 :(得分:3)

这两种方法完全等效,唯一有意义的区别是executeUpdate()是Java java.sql.Statement接口的一部分,而executeNonQuery()SqlCommand中的.NET方法上课!正如您可能想象的那样,许多人会认为这个小细节具有一定的重要性。

答案 1 :(得分:2)

据我所知, .NET 中有ExecuteNonQuery()来执行UPDATEINSERTDELETE次查询。根据{{​​3}}:

  

对于UPDATE,INSERT和DELETE语句,返回值是受命令影响的行数。当插入或更新的表上存在触发器时,返回值包括插入或更新操作影响的行数以及受触发器或触发器影响的行数。对于所有其他类型的语句,返回值为-1。

我从未在JAVA API中听说过这样的方法。

documentation用于命令对象,例如向数据库发出“select语句”并获取值。