WinForm编程,在C#中使用Dapper存取数据库
它支持异步和同步数据库查询,并将多个查询批处理到一个调用中,此外,dapper支持参数化查询,以帮助抵御SQL注入攻击。Dapper是的一个开源对象关系映射(ORM)库。首先定义了一个链接字符串,单连载入数据按钮后,使用Dapper的接口连到数据库并打开数据库,然后使用查询语句查询出数据,并将查询结果保存到result变量中,这个变量其实是一个movieList,最后将这个变量放入到控件gridC
·
Dapper介绍:
Dapper是的一个开源对象关系映射(ORM)库。NET和。NET核心应用程序。该库允许开发人员快速轻松地访问数据库中的数据,而无需编写乏味的代码。Dapper允许您执行原始SQL查询、将结果映射到对象以及执行存储过程等。它以NuGet包的形式提供。
Dapper重量轻、速度快,是需要低延迟和高性能的应用程序的理想选择。它是一个简单而强大的对象映射工具,使开发人员能够快速轻松地从ADO映射查询结果,NET数据读取器到业务对象实例。它支持异步和同步数据库查询,并将多个查询批处理到一个调用中,此外,dapper支持参数化查询,以帮助抵御SQL注入攻击。
简单的说,就是在C#编程中,使用Dapper操作数据库能够更简单,更方便,更容易,
第一步:启动vs2022并新建一个WinForm程序
第二步:添加Dapper引用
第三步:在winform界面中添加两个控件,如下图所示:
第四步:新建一个Model文件夹,并新建一个Movie类文件:
using System.ComponentModel;
namespace DapperForm
{
public class movie
{
[DisplayName("电影序号")]
public int MovieId { get; set; }
[DisplayName("电影名称")]
public string Name { get; set; }
[DisplayName("发行年份")]
public string Year { get; set; }
[DisplayName("电影评级")]
public int Rating { get; set; }
}
}
第五步:在 载入数据 按钮中添加代码:
private void simpleButton1_Click(object sender, EventArgs e)
{
using (var conn = new SqlConnection(connStr))
{
conn.Open(); // 打开数据库连接
var query = @"SELECT * FROM Movies"; // SQL查询语句
var result = conn.Query<movie>(query); // 执行查询操作并将结果存储在result变量中
gridControl1.DataSource = result;
}
}
其中Form1中所有的代码如下:
using System;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SqlClient;
using Dapper;
namespace DapperForm
{
public partial class Form1 : XtraForm
{
public string connStr = "Server=.;Database=Movies;User Id=sa;Password=caifox"; // 设置数据库连接字符串
public Form1()
{
InitializeComponent();
}
private void simpleButton1_Click(object sender, EventArgs e)
{
using (var conn = new SqlConnection(connStr))
{
conn.Open(); // 打开数据库连接
var query = @"SELECT * FROM Movies"; // SQL查询语句
var result = conn.Query<movie>(query); // 执行查询操作并将结果存储在result变量中
gridControl1.DataSource = result;
}
}
}
}
首先定义了一个链接字符串,单连载入数据按钮后,使用Dapper的接口连到数据库并打开数据库,然后使用查询语句查询出数据,并将查询结果保存到result变量中,这个变量其实是一个movieList,最后将这个变量放入到控件gridControl中。
最后,运行程序后,显示界面如下:
好了,是不是超级简单,你也来试试吧!
更多推荐
已为社区贡献1条内容
所有评论(0)