繁体   English   中英

ExecuteNonQuery()不会在C#和SQL Server数据库中返回受影响的行

[英]ExecuteNonQuery() does not return the affected rows in C# and SQL Server database

我正在使用SQL Server 2008和Visual Studio2010。使用ExecuteNonQuery()命令时会发生此问题。 在大多数情况下,它返回受影响的实际行数,但是当我尝试删除一组记录时,它返回0。

当我在SQL Server Management Studio中打开表时,我看到33条记录已被删除。

这是我的代码:

sqlQuery = "delete from  priv_  where user_id=" + txt_id.Text;
cmd = new SqlCommand(sqlQuery, con);
MessageBox.Show("rows affected = " + cmd.ExecuteNonQuery());

消息框显示

rows affected = 0

当我在SQL Server Management Studio中使用相同的查询时,它显示

33 rows affected

我已将ONCOUNT更改为off,但没有任何变化。

我遇到这个问题已有几个星期了,我使用的数据库登录权限有问题。 我能够运行查询,但是无法从我的应用程序中运行,它不会引发任何错误。 所以我在SQL Server 2014中的登录名下添加了“所有者”权限

My_server->安全性->登录名-> My_login->属性->用户映射-> My_database->选择适当的权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM