2011-10-04 67 views
3

我有下面的代碼,其中對於每一個serialnumber我在tblSerials表中搜索並從那裏刪除它,但事情是,記錄可能會或可能不存在,所以我需要知道該記錄是否真的被刪除,所以我可以更新另一個包含連續數量的表,其中qty = qty - 1(在刪除的情況下)。如何知道一條記錄是否被刪除使用c#

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

[萬歲,免費SQL注入給大家!(http://bobby-tables.com/) – Bobby

回答

10
cmd.ExecuteNonQuery(); 

這將返回受影響的行數。

所以,如果你想知道有多少記錄被刪除,你需要

int deletedRows = cmd.ExecuteNonQuery(); 
+0

真棒!非常感謝你@Daok – Somebody

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

謝謝SixHouse,Daok已經回答了這個問題。 – Somebody