我有以下代码清除我们使用的应用程序的帐户注销标志。
try
{
string connectionString = "Data Source=DBSERVER;Initial Catalog=AbraEmployeeSelfService;Integrated Security=False;user=FOO;pwd=BAR";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand("UPDATE dbo.tUSERS SET UserUnsuccessfulLoginCount = 0, UserLockoutInd = 0 WHERE LEFT(UserAbraSuiteLogicalPrimaryKey, 4) = '" + BadgeNumber + "'", connection))
{
command.ExecuteNonQuery();
connection.Close();
}
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
如何在返回零行时捕获此信息?
答案 0 :(得分:3)
ExecuteNonQuery
将返回受影响的行数。用那个。 :)
int nbUpdatedRows;
(...)
nbUpdatedRows = command.ExecuteNonQuery();
(...)
if (nbUpdatedRows == 0) // do stuff
答案 1 :(得分:1)
ExecuteNonQuery()
方法返回执行命令后影响的总行数。
来自MSDN:ExecuteNonQuery()
对连接执行Transact-SQL语句并返回 受影响的行数。
您可以检查其返回值以与零进行比较。
试试这个:
int status = command.ExecuteNonQuery();
if(status==0)
MessageBox.Show("No Rows Updated!");