前言
最近有些粉丝私信我有没有数据库操作相关的代码,联想之前在群里也有部分人问过一些数据库基础问题,翻了下文档、好像确实没写过相关的文章,所以接下来会通过使用三种方式来分别实现数据库的基本增删改查。
第一个就从Dapper起手吧,后面分别是Ado.Net和SqlSugar。
开发环境:.NET Framework版本:4.8
开发工具:Visual Studio 2022
实现步骤
为了方便可以直接运行源代码。所以示例采用了SqLite数据库。所以第一步就是通过Nuget下载System.Data.SQLite
通过Nuget下载Dapper(其他任意渠道均可,由于是开源的,所以直接使用源代码也行)
分别引入以下命名空间
using Dapper;
using System.Data.SQLite;
定义数据库的连接字符串以及
dataGridView
的绑定数据源
readonly string dbConnStr = "Data Source=" + Application.StartupPath + "\\data.db";
BindingList<T_User> bindList = new BindingList<T_User>();
查询
private void btn_query_Click(object sender, EventArgs e)
{
using (IDbConnection dbConn = new SQLiteConnection(dbConnStr))
{
dbConn.Open();
var list = dbConn.Query<T_User>("select * from t_user").ToList();
bindList.SetData(list);
}
}
新增
private void btn_add_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
if (form.ShowDialog() == DialogResult.OK)
{
using (IDbConnection dbConn = new SQLiteConnection(dbConnStr))
{
dbConn.Open();
dbConn.Execute("insert into t_user(name,age) values(@name,@age)", new { name = form.UserName, age = new Random().Next(1, 100) });
}
MessageBox.Show("添加成功");
btn_query_Click(null, null);
}
}
编辑
private void btn_edit_Click(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow == null)
{
MessageBox.Show("未选中任何行");
return;
}
int index = dataGridView1.CurrentRow.Index;
Form2 form = new Form2();
form.UserName = bindList[index].Name;
if (form.ShowDialog() == DialogResult.OK)
{
using (IDbConnection dbConn = new SQLiteConnection(dbConnStr))
{
dbConn.Open();
dbConn.Execute("update t_user set name=@name where id=@id", new { name = form.UserName, id = bindList[index].Id });
}
MessageBox.Show("修改成功");
btn_query_Click(null, null);
}
}
删除
private void btn_remove_Click(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow == null)
{
MessageBox.Show("未选中任何行");
return;
}
int index = dataGridView1.CurrentRow.Index;
using (IDbConnection dbConn = new SQLiteConnection(dbConnStr))
{
dbConn.Open();
dbConn.Execute("delete from t_user where id=@id", new { id = bindList[index].Id });
}
MessageBox.Show("删除成功");
btn_query_Click(null, null);
}
实现效果
-
技术群:添加小编微信并备注进群
小编微信:mm1552923
公众号:dotNet编程大全