我正在使用C#库SqlCommand.ExecuteNonQuery()
修改SQL数据库。其中一个脚本可以比int.Max
行更改更多。在这种情况下,该方法返回负值。有什么更好的方法可以以INT64精度获得正确的行计数?谢谢。
如果将SELECT @@ROWCOUNT
添加到查询末尾,则使用SqlCommand.ExecuteScalar
并将其返回到Int64
。ExecuteNonQuery
具有int
的返回类型,因此无法直接通过int.max处理值。
将其添加到SQL语句的末尾:
select rowcount_big() as [Affected];
和带有ExecuteScalar
的ExecuteNonQuery
。
您可以设置& executenonquery 返回输出参数。
声明@Result bigint输出
设置@Result = @@ rowcount