如何知道是否使用c#删除了记录

时间:2011-10-04 14:01:34

标签: c# .net sql ado.net

我有下面的代码,其中我在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()发生后知道某个记录是否已从表中删除。

2 个答案:

答案 0 :(得分:10)

 cmd.ExecuteNonQuery();

返回受影响的行数。

因此,如果您想知道删除了多少条记录,则需要

 int deletedRows = cmd.ExecuteNonQuery();

答案 1 :(得分:1)

int numRowsAffected = cmd.ExecuteNonQuery();
if (numRowsAffected > 0)
{
  // record deleted
}
else
{
  // record not deleted
}