我直接选中DataGridView中的某一行,然后用bindingNavigator1控件做增删查改,当我选择某一行删除的时候删除是两行,请问我的代码问题出在哪里?
如下:
string cmdText = "delete from fuCustomer where ID=@ID";
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Application.StartupPath + "\\GtestCheckPrice.mdb";
OleDbCommand cmd = new OleDbCommand(cmdText, conn);
cmd.Parameters.Add("@ID", OleDbType.Integer, 10);
conn.Open();
//删除代码:
foreach (DataGridViewRow dgvRow in dgvCustomer.SelectedRows)
{
cmd.Parameters["@ID"].Value = dgvRow.Cells[0].Value;
//dataGridView1.Rows.Remove(dgvRow);
dgvCustomer.Rows.RemoveAt(dgvCustomer.CurrentRow.Index);
cmd.ExecuteNonQuery();
}
如下:
string cmdText = "delete from fuCustomer where ID=@ID";
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Application.StartupPath + "\\GtestCheckPrice.mdb";
OleDbCommand cmd = new OleDbCommand(cmdText, conn);
cmd.Parameters.Add("@ID", OleDbType.Integer, 10);
conn.Open();
//删除代码:
foreach (DataGridViewRow dgvRow in dgvCustomer.SelectedRows)
{
cmd.Parameters["@ID"].Value = dgvRow.Cells[0].Value;
//dataGridView1.Rows.Remove(dgvRow);
dgvCustomer.Rows.RemoveAt(dgvCustomer.CurrentRow.Index);
cmd.ExecuteNonQuery();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货