private void btnDelete_Click(object sender, EventArgs e)
{
int i;
i = dataGridView1.SelectedCells[0].RowIndex;
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand delcmd = new OleDbCommand();
if (dataGridView1.Rows.Count > 1 && i != dataGridView1.Rows.Count - 1)
{
delcmd.CommandText = "DELETE FROM tb1 WHERE ID=" + dataGridView1.SelectedRows[i].Cells[0].Value.ToString() + "";
con.Open();
delcmd.Connection = con;
delcmd.ExecuteNonQuery();
con.Close();
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[i].Index);
MessageBox.Show("Row Deleted");
}
}
这是我从DataGridView和数据库删除入围行,但是当我点击删除按钮,其显示的错误代码......如何在C#中删除选定的行从DataGridView和数据库
“索引超出范围必须大于集合的大小 非负少参数名:。指数”
plz帮助我的代码...
抛出的错误在哪里?它在'i = dataGridView1.SelectedCells [0]'? –
此命令引发此错误... delcmd.CommandText =“DELETE FROM tb1 WHERE ID =”+ dataGridView1.SelectedRows [i] .Cells [0] .Value.ToString()+“”; – user3138522
你确定吗?因为你刚才评论说它是'i = dataGridView1.SelectedCells [0]'行。 –