对于增删改数据,一般判断ExecuteNonQuery()是否大于0
mark= Comm.ExecuteNonQuery()>0?true:false;
注意:关于ExecuteNonQuery()执行成功却返回-1的问题
通过ExecuteNonQuery()的返回值来判断操作数据库的成功与否是可以的.但是要分情况.
1.ExecuteNonQuery() 不执行存储过程.
此时如果对数据库执行,插入,更新,删除操作,返回的是 受影响的行数.(及一个大于等于0的整数)
2.ExecuteNonQuery() 执行查询不返回影响的行数.
2.ExecuteNonQuery 执行存储过程.
[1].存储过程有返回值(传出参数)
(1).把数据库中受影响的行数赋给返回值,这是得到的返回值是受影响的函数(大于或等于0的整数).
(2).把某个值赋给返回值.
[2].存储过程没有返回值
执行成功后返回 -1.
(没有返回值的存储过程理应 返回 受影响的行数 (执行 增删改) 但是.但我们在ado.net中执行存储过程的时候,dotnet 自动为给了存储过程一个默认值:set nocount on;
所以给我们的感觉是执行存储过程默认返回 -1 )