鼠标选中行数据进行删除,同时对应MySQL数据也删除的方法"/>
C#中dataGridView控件中将鼠标选中行数据进行删除,同时对应MySQL数据也删除的方法
问题描述
欲将下图表格中的若干行数据在界面上删除,同时相应删除MySQL内的数据。本文所述的方法适用于单行或多行(相邻或分散)数据的删除~~~
解决思路+代码实现
解决思路
1.编写表内容删除的MySQL语句
2.获取鼠标选中行的编号
3.通过一个for循环依次将选中数据删除
代码实现
//定义计数值int count = 0;try{//连接数据库,我这里连接数据库的方法是自己写的,方法因人而异connectMySQL();//for循环,dataGridView1.SelectedRows.Count为鼠标选中行的数目,一次for循环删除一行数据for (int i = 0; i < dataGridView1.SelectedRows.Count; i++){//获得i行的编号int id = Convert.ToInt32(dataGridView1.SelectedRows[i].Cells[0].Value);//编写数据库删除代码,这里还用到了动态变量,用于改变每次id值string dataToDo3 = $"delete from student where id = {id}";//创建MySqlCommand类用于SQL语句的执行cmd = new MySqlCommand(dataToDo3, conn);//定义x接收返回值SQL语句返回值,为0则为执行失败int x=cmd.ExecuteNonQuery();//执行判断if (x == 0){MessageBox.Show("删除失败");}//若成功则计数值+1count = count + 1;} //若计数值等于选中行的数目,代表成功完成所有行的删除if (count== dataGridView1.SelectedRows.Count){MessageBox.Show("删除成功");}}catch (Exception ex){MessageBox.Show(ex.ToString());}finally{//这里的button2是刷新界面,因人而异,可忽略button2.PerformClick();//关闭数据库连接closeMySQL();}
运行结果
假设我要删除编号160、162、164三行数据
结果如下
这里展示了多行(分散)数据的删除,对于单行,其他多行情况下这个方法同样适用~
希望能帮到大家~~~
更多推荐
C#中dataGridView控件中将鼠标选中行数据进行删除,同时对应MySQL数据也删除的方法
发布评论