在存储过程中使用游标时,返回受影响的行的值到ExecuteNonQuery

时间:2013-02-13 15:52:08

标签: c# sql-server-2008

我在存储过程中使用了游标,该存储过程从xml获取数据,以根据业务规则插入,删除或更新记录。

使用ExecuteNonQuery()执行时,即使行受到影响,也会返回-1

请告诉我这件事。

谢谢, 景

2 个答案:

答案 0 :(得分:3)

您的存储过程中是否有SET NOCOUNT ON

尝试SET NOCOUNT OFF

请参阅此T-SQL article

答案 1 :(得分:1)

来自 MSDN ;

  

对于UPDATE,INSERT和DELETE语句,返回值为   受命令影响的行数。当a上存在触发器时   正在插入或更新的表,返回值包括数字   受插入或更新操作影响的行数和数字   受触发器或触发器影响的行数。 适用于所有其他类型的   语句,返回值为-1。如果发生回滚,则返回   值也是-1。

IMO您的问题符合其中一个选项。

我只是根据返回值说出来的。为了获得更多人的帮助,你应该给人们更多的信息。