C#_使用ADO.NET实体模型与数据库进行快速连接

简介: C#_使用ADO.NET实体模型与数据库进行快速连接,实现增、删、改、查操作

数据库文件与源程序获取

数据库文件

百度云:

链接:https://pan.baidu.com/s/1FHWdyebUOZoAvKXycvFi3g

提取码:im4l

源程序

github:

https://github.com/GitHub-yiming/WindowsFormsAppADO.NET.git


代码展示

一共有两个界面,Form1为主界面,Form2为信息添加界面

主界面

usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Configuration;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceWindowsFormsAppADO.NET{
publicpartialclassForm1 : Form    {
Calorimeter1Entitiesdb=newCalorimeter1Entities();
publicForm1()
        {
InitializeComponent();
        }
privatevoidForm1_Load(objectsender, EventArgse)
        {
using (vardb=newCalorimeter1Entities())
            {
tableNumbers1BindingSource.DataSource=db.Table_Numbers1.ToList();
            }
        }
//添加privatevoidbutton1_Click(objectsender, EventArgse)
        {
using(Form2form2=newForm2(null))
            {
form2.ShowDialog();
using (vardb=newCalorimeter1Entities())
                    {
tableNumbers1BindingSource.DataSource=db.Table_Numbers1.ToList();
                    }
            }
        }
//刷新privatevoidbutton2_Click(objectsender, EventArgse)
        {
using (vardb=newCalorimeter1Entities())
            {
tableNumbers1BindingSource.DataSource=db.Table_Numbers1.ToList();
            }
        }
//编辑privatevoidbutton3_Click(objectsender, EventArgse)
        {
using (Form2form2=newForm2(tableNumbers1BindingSource.CurrentasTable_Numbers1))
            {
form2.ShowDialog();
using (vardb=newCalorimeter1Entities())
                {
tableNumbers1BindingSource.DataSource=db.Table_Numbers1.ToList();
                }
            }
        }
//删除privatevoidbutton4_Click(objectsender, EventArgse)
        {
using(vardb=newCalorimeter1Entities())
            {
//int i = dataGridView1.SelectedRows.Count;tableNumbers1BindingSource.DataSource=db.Table_Numbers1.ToList();
if (tableNumbers1BindingSource.Current!=null)
                {
if (MessageBox.Show("你确定要删除这条数据吗?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==DialogResult.Yes)
                    {
db.Table_Numbers1.Remove(tableNumbers1BindingSource.CurrentasTable_Numbers1);
tableNumbers1BindingSource.RemoveCurrent();
db.SaveChanges();
                    }
                }
            }
        }
privatevoiddataGridView1_RowPostPaint(objectsender, DataGridViewRowPostPaintEventArgse)
        {
try            {
//添加行号 SolidBrushv_SolidBrush=newSolidBrush(dataGridView1.RowHeadersDefaultCellStyle.ForeColor);
intv_LineNo=0;
v_LineNo=e.RowIndex+1;
stringv_Line=v_LineNo.ToString();
e.Graphics.DrawString(v_Line, e.InheritedRowStyle.Font, v_SolidBrush, e.RowBounds.Location.X+15, e.RowBounds.Location.Y+5);
            }
catch (Exceptionex)
            {
MessageBox.Show("添加行号时发生错误,错误信息:"+ex.Message, "操作失败");
            }
        }
    }
}

信息添加界面

usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceWindowsFormsAppADO.NET{
publicpartialclassForm2 : Form    {
Calorimeter1Entitiesdb=newCalorimeter1Entities();
publicForm2(Table_Numbers1obj)
        {
InitializeComponent();
if(obj==null)
            {
tableNumbers1BindingSource.DataSource=newTable_Numbers1();
db.Table_Numbers1.Add(tableNumbers1BindingSource.CurrentasTable_Numbers1);
            }
else            {
tableNumbers1BindingSource.DataSource=obj;
db.Table_Numbers1.Attach(tableNumbers1BindingSource.CurrentasTable_Numbers1);
            }
        }
privatevoidForm2_FormClosing(objectsender, FormClosingEventArgse)
        {
if (DialogResult==DialogResult.OK)
            {
db.SaveChanges();
e.Cancel=false;
            }
e.Cancel=false;
        }
    }
}


最后如果有什么问题,欢迎在下方评论,我看到会及时回复的。


有兴趣的话可以看看的另一篇文章:

C#&SQL Server基于三层架构实现增删改查

https://developer.aliyun.com/article/830527?spm=a2c6h.13148508.0.0.6d814f0eE0mJgO

可以对比以下两篇文章

相关文章
|
1天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
6天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
20 2
|
28天前
|
开发框架 搜索推荐 算法
一个包含了 50+ C#/.NET编程技巧实战练习教程
一个包含了 50+ C#/.NET编程技巧实战练习教程
96 18
|
28天前
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
68 12
|
26天前
|
开发框架 人工智能 .NET
C#/.NET/.NET Core拾遗补漏合集(24年12月更新)
C#/.NET/.NET Core拾遗补漏合集(24年12月更新)
|
26天前
|
开发框架 算法 .NET
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
|
26天前
|
开发框架 Cloud Native .NET
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
|
1月前
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
59 5
|
1月前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
133 13
|
2月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例