捕获零行更新
本文关键字:零行 更新 | 更新日期: 2023-09-27 17:50:15
我有以下代码,用于清除我们使用的应用程序的帐户注销标志。
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);
}
当零行返回时,我怎么能得到这个捕获?
ExecuteNonQuery
将返回受影响的行数。使用它。:)
int nbUpdatedRows;
(...)
nbUpdatedRows = command.ExecuteNonQuery();
(...)
if (nbUpdatedRows == 0) // do stuff
ExecuteNonQuery()
方法返回执行命令后影响的行总数。
From MSDN: ExecuteNonQuery()
对连接执行Transact-SQL语句并返回受影响的行数。
你可以检查它的返回值与零比较。
试试这个:
int status = command.ExecuteNonQuery();
if(status==0)
MessageBox.Show("No Rows Updated!");