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

问题描述 投票:2回答:1

我正在使用SQL Server 2008和Visual Studio 2010.使用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改为关闭,但没有任何改变。

c# sql-server
1个回答
0
投票

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

My_server-> Security-> logins-> My_login-> Properties-> User Mappings-> My_database->选择适当的权限

© www.soinside.com 2019 - 2024. All rights reserved.