使用sqlcommand.executenonquery,如何获得超过int限制的受影响的行计数



我正在使用C#库SqlCommand.ExecuteNonQuery()修改SQL数据库。其中一个脚本可以比int.Max行更改更多。在这种情况下,该方法返回负值。有什么更好的方法可以以INT64精度获得正确的行计数?谢谢。

如果将SELECT @@ROWCOUNT添加到查询末尾,则使用SqlCommand.ExecuteScalar并将其返回到Int64ExecuteNonQuery具有int的返回类型,因此无法直接通过int.max处理值。

将其添加到SQL语句的末尾:

select rowcount_big() as [Affected];

和带有ExecuteScalarExecuteNonQuery

您可以设置& executenonquery 返回输出参数。

声明@Result bigint输出

设置@Result = @@ rowcount

最新更新