2012-09-04 102 views
0

我有一箇中繼器,每行都有一個按鈕,按鈕會將一些數據記錄添加到數據表中,所以如果我在每一行中單擊該按鈕,它會向數據表添加更多記錄。我在每行都有一個刪除按鈕,應該刪除從同一個重複器行添加的記錄,所以只應刪除從該行添加的記錄。我的代碼工作正常,除了它從數據表中刪除所有記錄。如何刪除從特定行添加的特定記錄?從中繼器中的數據表中刪除特定的行

我的代碼:

for (int i = GRX.Rows.Count - 1; i >= 0; i--) 
       { 
        DataRow dr = GRX.Rows[i]; 

        if (lbl4.Text == "2" || lbl4.Text == "4") 
        { 
         dr.Delete(); 
        } 
       } 

回答

0

我在中繼器中有一個序列號,所以我在添加到數據表的每條記錄中都添加了序列並將其添加到if語句中。

改變的代碼是:

for (int i = GRX.Rows.Count - 1; i >= 0; i--) 
       { 
        DataRow dr = GRX.Rows[i]; 


        string seq = lbl7.Text; 
        string GRXseq = dr[5].ToString(); 
        string GRXseat = dr[4].ToString(); 

        if (GRXseat == "R" && lbl4.Text == "2" && GRXseq == seq || GRXseat == "R" && lbl4.Text == "4" && GRXseq == seq) 
        { 
         dr.Delete(); 


        } 
       } 
0

DataRow dr = GRX.Rows[i];可能會選擇你不想刪除一些值。

嘗試將和)添加到if條件中的條件。

此外,請檢查是否正在將正確的參數傳遞給正在刪除該行的SQL查詢。您可能會錯過WHERE id = xx條款。

+0

我不知道如何做到這一點。告訴我如何請。 –

+0

當然,但我需要一些關於如何與數據庫交互的更多細節。 –

+0

謝謝,現在解決。 –