C#中ExecuteNonQuery()方法与ExecuteScalar()方法到底有什么区别?不求专业术语,只求能讲的全面点?

2024-10-31 09:31:07
推荐回答(2个)
回答(1):

ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进行操作(如记录的增加、删除和更新),那么方法将返回操作所影响的记录条数。
ExecuteScalar():执行命令对象的SQL语句,如果SQL语句是SELECT查询,则仅仅返回查询结果集中的第1行第1列,而忽略其他的行 和列。该方法所返回的结果为object类型,在使用之前必须强制转换为所需的类型。如果SQL语句不是SELECT查询,则返回结果没有任何作用。

回答(2):

ExecuteNonQuery:返回的是整个结果集。
ExecuteScalar:执行查询,并返回查询所返回的结果集中第一行的第一列。
如:查出两条记录
   id name
第一行 2  Tom
第二行 3 Jerry
ExecuteNonQuery得到的是两条完整的记录
ExecuteScalar得到的是2。