日期:2014-05-17  浏览次数:20708 次

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需要从下往上删.
------解决方案--------------------
首先,你说的删除是指单单DataGridView中的Remove,还是数据库中也删除了,最好跟一下代码看看具体的执行过程
------解决方案--------------------
用for循环,从后往前删