我在删除数据表中的选定行时遇到一些问题。我已经在这个网站上关注了其他几个例子,但它们都导致我的所有数据都从数据库中删除。有关如何删除从数据库文件中提取的选定行的任何建议吗?
private void btnDelete_Click(object sender, EventArgs e)
{
OleDbConnection connection = new OleDbConnection();
connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=S:\Docket\Database1.accdb;
Persist Security Info=False;";
string strSQL = "Select * from login";
OleDbCommand cmd = new OleDbCommand(strSQL, connection);
connection.Open();
cmd.CommandType = CommandType.Text;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
foreach (DataGridViewRow item in this.dataGridView1.SelectedRows)
{
dataGridView1.Rows.RemoveAt(item.Index);
}
da.Update(dt);
}
编辑:更新的代码,显示从表中删除的项目。我应该澄清一下,我想从数据网格和数据库中删除任何选定的选项,上面的代码只是从用户在屏幕上看到的内容中删除它们。我猜我的字符串选择数据库中的所有内容都需要修改,但我不确定要修改它的内容。
答案 0 :(得分:3)
您需要将您的foreach更改为:
foreach (DataGridViewRow item in this.dataGridView1.SelectedRows)
{
dataGridView1.Rows.RemoveAt(item.Index);
}