【发布时间】:2016-05-26 21:41:41
【问题描述】:
我正在编写此代码以一次从 datagridview 和数据库中删除选定的行。 但我在“deleteButton.Click”中遇到错误
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();
}
}
}
}
}
【问题讨论】:
-
错误是什么?为什么要定义一个新的数据表并再次填充它。你应该删除一行吗?
-
int rowIdToDelete =(int)row.Cells['ID'].Value;然后你必须执行查询而不是再次填充表
标签: c# winforms datagridview