2011-11-17 51 views
-2

我正在關注來自here的教程。通過複選框從GridView中檢索主鍵,用於SQL查詢

但是我在我需要grep被檢查行的主鍵的部分卡住了。

下面是我當前的代碼:

protected void DeleteChecked_Click(object sender, EventArgs e) 
{ 
    bool atLeastOneRowDeleted = false; 

    foreach (GridViewRow row in GridView1.Rows) 
    { 

     CheckBox cb = (CheckBox)row.FindControl("UserSelector"); 
     if (cb != null && cb.Checked) 
     { 

      atLeastOneRowDeleted = true; 

      int employeeID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value); 

      SqlDataSource1.SelectCommand = "DELETE FROM [UserDB] where Employee like " +employeeID; 
      SqlDataSource1.DataBind(); 
     } 
    } 
} 

我不知道我應該改變,我怎麼用grep在我的GridView我的「員工」的變量,這樣我可以將其插入我的DELETE語句。

下面是我的示例GridView和我現在正在開會的錯誤。


enter image description here

enter image description here

+0

請不要像 「C#SQL Visual Studio的」 前綴您的圖書。這就是我們在[so]上使用標籤的原因。另外,你的問題是關於.NET,而不是Visual Studio。如果您在記事本中編寫代碼,則會遇到同樣的問題。 –

回答

1

設置在該行斷點,並期待在GridView1.DataKeys的價值。我敢打賭,該數組中沒有鍵,所以DataKeys [0]會拋出該異常。

0

試試這個

int employeeID= Convert.Toint32(GridView1.Rows[row.RowIndex].Cells["Employee"].Value);