我有下面的代码,其中我在tblSerials表中搜索的每个序列号并从那里删除它,但问题是,记录可能存在也可能不存在,所以我需要知道记录是否真的删除,所以我可以使用qty = qty - 1更新另一个具有连续数量的数量的表(如果删除)。
SqlConnection conn = new SqlConnection(connString);
for (int i = 0; i <= aSNs.Count()-1; i++)
{
string query = "delete from tblSerials where SerialNumber='" +aSNs[i]+ "'";
SqlCommand cmd = new SqlCommand(query, conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw (ex);
}
finally
{
cmd.Dispose();
conn.Close();
}
}
所以我的问题是,如果有任何方法可以在ExecuteNonQuery()发生后知道某个记录是否已从表中删除。
答案 0 :(得分:10)
cmd.ExecuteNonQuery();
返回受影响的行数。
因此,如果您想知道删除了多少条记录,则需要
int deletedRows = cmd.ExecuteNonQuery();
答案 1 :(得分:1)
int numRowsAffected = cmd.ExecuteNonQuery();
if (numRowsAffected > 0)
{
// record deleted
}
else
{
// record not deleted
}