当前位置: 首页 > news >正文

C# 开发Winform DataGridView的增删改查实战

在C# WinForms应用程序中,DataGridView控件是一个非常强大的工具,用于显示和编辑表格数据。下面我将详细介绍如何在WinForm应用程序中使用DataGridView实现基本的数据库操作:增加、删除、修改和查询(CRUD)。

第一步:创建数据库表

首先,你需要一个数据库表来存储数据。假设我们有一个“Employee”表,包含以下字段:

  • ID (int, primary key, auto-increment)
  • Name (varchar)
  • Position (varchar)
  • Salary (decimal)

第二步:设置WinForm项目

  1. 打开Visual Studio,创建一个新的Windows Forms App (.NET Framework)项目。
  2. 在Form上添加一个DataGridView控件。

第三步:连接数据库

使用ADO.NET来连接数据库。在解决方案资源管理器中,右键点击项目 -> 添加 -> 新建项 -> 数据 -> ADO.NET实体数据模型,然后选择你的数据库并创建实体。

第四步:编写CRUD操作

1. 查询数据
 

Csharp

深色版本

1private void LoadData()
2{
3    using (var context = new YourDbContext())
4    {
5        var employees = context.Employees.ToList();
6        dataGridView1.DataSource = employees;
7    }
8}
2. 插入数据
 

Csharp

1private void InsertData(string name, string position, decimal salary)
2{
3    using (var context = new YourDbContext())
4    {
5        var employee = new Employee { Name = name, Position = position, Salary = salary };
6        context.Employees.Add(employee);
7        context.SaveChanges();
8        LoadData(); // 刷新DataGridView
9    }
10}
3. 更新数据
 

Csharp

1private void UpdateData(int id, string name, string position, decimal salary)
2{
3    using (var context = new YourDbContext())
4    {
5        var employee = context.Employees.Find(id);
6        if (employee != null)
7        {
8            employee.Name = name;
9            employee.Position = position;
10            employee.Salary = salary;
11            context.SaveChanges();
12            LoadData(); // 刷新DataGridView
13        }
14    }
15}
4. 删除数据
 

Csharp

1private void DeleteData(int id)
2{
3    using (var context = new YourDbContext())
4    {
5        var employee = context.Employees.Find(id);
6        if (employee != null)
7        {
8            context.Employees.Remove(employee);
9            context.SaveChanges();
10            LoadData(); // 刷新DataGridView
11        }
12    }
13}

第五步:绑定事件

在你的Form中,你可以绑定DataGridView的事件来触发上述方法,例如:

 

Csharp

1private void buttonAdd_Click(object sender, EventArgs e)
2{
3    InsertData(textBoxName.Text, textBoxPosition.Text, decimal.Parse(textBoxSalary.Text));
4}
5
6private void buttonEdit_Click(object sender, EventArgs e)
7{
8    var selectedRow = dataGridView1.SelectedRows[0];
9    int id = Convert.ToInt32(selectedRow.Cells["ID"].Value);
10    string name = selectedRow.Cells["Name"].Value.ToString();
11    string position = selectedRow.Cells["Position"].Value.ToString();
12    decimal salary = Convert.ToDecimal(selectedRow.Cells["Salary"].Value);
13    UpdateData(id, name, position, salary);
14}
15
16private void buttonDelete_Click(object sender, EventArgs e)
17{
18    var selectedRow = dataGridView1.SelectedRows[0];
19    int id = Convert.ToInt32(selectedRow.Cells["ID"].Value);
20    DeleteData(id);
21}

第六步:运行程序

现在,你可以运行你的应用程序,通过按钮来添加、编辑和删除数据了。记得在启动时调用LoadData()方法来初始化DataGridView的数据。

以上步骤和代码提供了一个基础框架,你可以根据具体需求进行调整和扩展。例如,你可能需要添加错误处理、数据验证等。

http://www.lryc.cn/news/391302.html

相关文章:

  • CentOS 7镜像列表服务下线,还想继续使用该怎么办?
  • 代码随想录训练营第二十八天 122买卖股票的最佳时间II 55跳跃游戏 45跳跃游戏II 1005K次取反后最大化的数组和
  • 在node环境使用MySQL
  • spdlog一个非常好用的C++日志库(四): 源码分析之logger类
  • 逻辑这回事(七)---- 器件基础
  • 中俄汽车产业链合作前景广阔,东方经济论坛助力双边合作与创新
  • 第六篇:精通Docker Compose:打造高效的多容器应用环境
  • C++视觉开发 一.OpenCV环境配置
  • 大数据面试题之Kafka(3)
  • 视频监控平台web客户端的免密查看视频页:在PC浏览器上如何调试手机上的前端网页(PC上的手机浏览器的开发者工具)
  • 力扣2488.统计中位数为 K 的子数组
  • Zabbix对接Elasticsearch(ES)数据库(未成功)
  • 【unity实战】使用Unity实现动作游戏的攻击 连击 轻重攻击和打击感
  • ELK 企业实战7
  • linux 下neo4j的安装
  • Flink ProcessFunction不同流异同及应用场景
  • Matplotlib 文本
  • 信创产业政策,信创测试方面
  • 微信云数据库迁移到unicloud云数据库
  • 快速上手文心一言指令
  • 零基础STM32单片机编程入门(五)FreeRTOS实时操作系统详解及实战含源码视频
  • leetCode.96. 不同的二叉搜索树
  • PyAutoGUI 使用详解
  • MySQL——备份
  • 科东软件精彩亮相华南工博会,展现未来工业前沿技术
  • 详解flink sql, calcite logical转flink logical
  • PostgreSQL的系统视图pg_statio_all_indexes
  • 【C++ Primer Plus学习记录】函数和C-风格字符串
  • 力扣双指针算法题目:移动零
  • day60---面试专题(微服务面试题-参考回答)