datagridview中的删除问题,麻烦各位看看问题出在哪,怎么改
private void button3_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Server=(local);Database=test;Trusted_Connection=yes");
conn.Open();
while (dataGridView1.SelectedRows.Count > 0)
{
SqlCommand comm = new SqlCommand("delete from 员工表 where 员工ID=@员工ID", conn);
comm.Parameters.AddWithValue("@员工ID", dataGridView1.SelectedRows[0].Cells["Column1"].Value);
comm.ExecuteNonQuery();
dataGridView1.Rows.Remove(dataGridView1.SelectedRows[0]);
}
MessageBox.Show("删除成功!");
}
以上是我的代码,
问题描述:假设datagridview中数据有7行,
①如果先选中第3行,再选第5行,就会把第3行之后的都删掉,
②如果先选中第5行,再选中第3行,则只会把第3行和第5行删掉,
这是什么原因,为什么会出现这样的情况,如何改正?
大一菜鸟,麻烦大家说的详细些,最好能贴上代码,
------解决方案--------------------datagridview需要从下往上删.
------解决方案--------------------首先,你说的删除是指单单DataGridView中的Remove,还是数据库中也删除了,最好跟一下代码看看具体的执行过程
------解决方案--------------------用for循环,从后往前删