C#增删改查操作Access数据库之三(数据库的删除)
来源:互联网 发布:防范和打击电信网络 编辑:程序博客网 时间:2024/06/06 13:27
功能:选中datagidview中一行数据,点击删除按钮则这一行数据在datagridview中删除同时在数据库中删除
注意:我在实现这个功能的时候,出现了一个bug,目前还没有得到解决。这个就是在第一次单击删除按钮的时候,删除会失败,但是在第二次点击以后就能顺利删除。
如果有大神发现我代码的问题所在,欢迎指点一二。
此问题已解决。
1.删除功能的实现
public bool DataDelete(DataGridView dataGridView1, OleDbConnection conn) { bool result = false; DialogResult dr = MessageBox.Show("确定要删除这条记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { //int iCount = dataGridView1.SelectedRows.Count; Int32 selectedRowCount = dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected); conn.Open(); //if (iCount < 1) if (selectedRowCount < 1) { MessageBox.Show("删除失败!"); } else { for (int i = dataGridView1.Rows.Count - 1; i >= 0; i--) { if (dataGridView1.Rows[i].Selected) { string sqlDel = "delete * from Student where [学号]=@StuNo"; OleDbCommand comd = new OleDbCommand(sqlDel, conn); comd.Parameters.AddWithValue("@StuNo", dataGridView1.Rows[i].Cells[1].Value); int rtnCode = comd.ExecuteNonQuery(); } } } result = true; } return result;这里有两种获取当前datagridview选中的行数
第一种:
int iCount = dataGridView1.SelectedRows.Count;
第二种:
Int32 selectedRowCount = dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
这里没有删除datagirdview上的数据,是直接删除数据库的数据,然后使用datadisplay重新读取数据库中数据的
想要单纯的删除datagridview中的某行数据可以使用下面代码
foreach (DataGridViewRow item in dataGridView1.SelectedRows) { dataGridView1.Rows.RemoveAt(item.Index); }
2.删除按钮
private void btn_Delete_Click(object sender, EventArgs e) { dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //设置datagirview属性为点击一个cell就选中整行 try { bool DeleteResult = opera.DataDelete(dataGridView1, conn); if (DeleteResult) { DataDisplay(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); } }
解决第一次删除总是失败的方法:
删除按钮方法中下列语句删除,将这个语句添加到DataDisplay()方法中就可以了。
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
阅读全文
1 0
- C#增删改查操作Access数据库之三(数据库的删除)
- c#操作access数据库--增删改查
- C#增删改查操作Access数据库之二(数据库的增加)
- C#增删改查操作Access数据库之四(数据库的更改)
- C#增删改查操作Access数据库之五(数据库的查找)
- C#对Access数据库的增删改查
- C# Access数据库增删查改的简单方法
- C# Access数据库增删查改的简单方法
- C# Access数据库增删查改的简单方法
- c# 数据库增删改查操作
- 数据库操作之增删改查
- c#的数据库的增删改查
- 自学java之hibernate操作数据库的增删查改
- JAVA之操作数据库增删改查-JDBC的使用
- 数据库的增删改查操作
- 数据库的一些增删改查操作
- 数据库的简单操作----增删改查
- 数据库操作增删改查
- 自动更新程序源码下载(C#.Net)
- LeetCode||63. Unique Paths II
- UE4+科大讯飞SDK的.Build.cs配置
- json对象、json字符串的区别和相互转换
- leetcode Container With Most Water
- C#增删改查操作Access数据库之三(数据库的删除)
- 设计模式之抽象工厂模式简介及代码实现
- OpenCV处理指定帧画面
- 【Unity3D问题之EnhanceScollView选择角色3D循环滚动效果实现】
- swift 4.0 版本 无限轮播图
- Python中flatten,matrix.A用法
- 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy
- spring boot 的事务管理
- linux IO子系统和文件系统读写流程