我正在使用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
改为关闭,但没有任何改变。
几个星期我遇到了这个问题。我对数据库使用的登录权限有疑问。我能够运行查询,但不能从我的应用程序运行查询,它不会抛出任何错误。所以我在SQL Server 2014下添加了“所有者”登录权限
My_server-> Security-> logins-> My_login-> Properties-> User Mappings-> My_database->选择适当的权限