标签: c# sql-server-2008
我在存储过程中使用了游标,该存储过程从xml获取数据,以根据业务规则插入,删除或更新记录。
使用ExecuteNonQuery()执行时,即使行受到影响,也会返回-1。
ExecuteNonQuery()
-1
请告诉我这件事。
谢谢, 景
答案 0 :(得分:3)
您的存储过程中是否有SET NOCOUNT ON?
SET NOCOUNT ON
尝试SET NOCOUNT OFF
SET NOCOUNT OFF
请参阅此T-SQL article。
答案 1 :(得分:1)
来自 MSDN ;
MSDN
对于UPDATE,INSERT和DELETE语句,返回值为 受命令影响的行数。当a上存在触发器时 正在插入或更新的表,返回值包括数字 受插入或更新操作影响的行数和数字 受触发器或触发器影响的行数。 适用于所有其他类型的 语句,返回值为-1。如果发生回滚,则返回 值也是-1。
IMO您的问题符合其中一个选项。
我只是根据返回值说出来的。为了获得更多人的帮助,你应该给人们更多的信息。