2013-12-22 75 views
0

我正在編寫此代碼以便一次從datagridview和數據庫中刪除選定的行。 但我在 「deleteButton.Click」從datagridview和數據庫刪除選定的行

deleteButton.Click += new System.EventHandler(this.DeleteRecord); 

private DeleteRecord(object sender, EventArgs e) 
{ 


foreach(DataGridViewRow row in DataGridView1.SelectedRows) 
{ 
    int rowIdToDelete = row.Cells[ID].Value; 
    using (OleDbConnection conn = new OleDbConnection(connectionString)) 
       { 
        string query = "DELETE FROM [Record] WHERE ID = " + rowIdToDelete; 
        conn.Open(); 

        using (OleDbCommand cmd = new OleDbCommand(query, conn)) 
        { 
         using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn)) 
         { 
          DataTable ds = new DataTable(); 
          adapter.Update(ds); 
          dataGridView.DataSource = ds; 
          cmd.ExecuteNonQuery(); 
         } 
        } 
       } 
} 

} 
+0

什麼錯誤?爲什麼定義一個新的數據表並重新填充它。你應該刪除一行? – NoChance

+0

int rowIdToDelete =(int)row.Cells ['ID']。Value;然後你必須execte的querry不填表格阿恩 – Rad

回答

0

rowIdToDelete了引號中的錯誤。

string query = "DELETE FROM [Record] WHERE ID = " + "'rowIdToDelete'"; 

此外,如果ID是列名與加雙引號,

int rowIdToDelete = row.Cells["ID"].Value; 
+0

私人無效btnDelete_Click(對象發件人,EventArgs的){ 的foreach (在this.dataGridView1.SelectedRows的DataGridViewRow項目) { dataGridView1.Rows.RemoveAt(item.Index ); } } – 2016-05-26 13:41:01

相關問題