使用SqlSugar保存数据
使用sqlSugar库进行数据库操作,相比原生ADO.NET要简单很多,这里演示使用SQLsugar进行简单的增删改查的使用方法。
1、通过NuGet安装sqlsugar;
2、创建一个SqlSugarClient对象,并设置相关参数,如下:
//建立数据库连接 SqlSugarClient db = new SqlSugarClient(new ConnectionConfig { ConnectionString = connString, DbType = SqlSugar.DbType.SqlServer, IsAutoCloseConnection = true });
3、创建一个与数据表相对应的实体类,如下
[SugarTable("ParaValue")] public class ParaValue { [SugarColumn(IsPrimaryKey = true,IsIdentity =true,ColumnName ="id")] public int Id { get; set; } [SugarColumn(ColumnName="name")] public string Name { get; set; } [SugarColumn(ColumnName = "value")] public float Value { get; set; } [SugarColumn(ColumnName = "note")] public string Note { get; set; } }
注意,[SugarTable("ParaValue")]是数据表的名称;[SugarColumn(ColumnName="name")]是数据表中列名。
重点注意:对于主键,自增列,一定要使用SugarColumn(IsPrimaryKey = true,IsIdentity =true标记,
插入数据时,一般自增列是不需要赋值,数据库会自动增加,但是如果没有IsIdentity =true标记,插入数据就会报错。
4、执行数据库操作,需要:
第一步,先打开数据库,db.Ado.Open();
第二步,执行数据库操作,
第三步,关闭数据库,db.Ado.Close();
由于设置了IsAutoCloseConnection = true,sqlsugar在执行数据库操作时自动打开数据库,操作完成后自动关闭数据库。
需要注意的是,虽然 SQLSugar 库在执行数据库操作时会自动打开和关闭连接,但在某些情况下,可能需要显式地控制连接的打开和关闭过程。
在这些情况下,你可以选择自己手动打开和关闭数据库连接,而不依赖于 SQLSugar 库的自动管理功能。
// 插入数据示例 var paraValue = new ParaValue { Name = "John" + DateTime.Now.ToString(), Value = 20.78f }; db.Insertable(paraValue).ExecuteCommand();
//查询数据 //var result =db.Queryable<ParaValue>().ToList(); var result = db.Queryable<ParaValue>().Where(u => u.Id > 2).ToList(); foreach (ParaValue paraValue in result) { Console.WriteLine(paraValue.Name); }
//修改数据 db.Updateable<ParaValue>() .SetColumns(p => new ParaValue { Name = "hanzq", Value = 777.99f, Note = "adsfasdf" }) .Where(p => p.Id == 2) .ExecuteCommand();
完整代码如下:
using SqlSugar; namespace sqlsugar库测试 { [SugarTable("ParaValue")] public class ParaValue { [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "id")] public int Id { get; set; } [SugarColumn(ColumnName = "name")] public string Name { get; set; } [SugarColumn(ColumnName = "value")] public float Value { get; set; } [SugarColumn(ColumnName = "note")] public string Note { get; set; } } }
using SqlSugar; using System; using System.Configuration; using System.Windows.Forms; namespace sqlsugar库测试 { public partial class Form1 : Form { string connString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; public Form1() { InitializeComponent(); this.Load += Form1_Load; } SqlSugarClient db; private void Form1_Load(object sender, EventArgs e) { //建立数据库连接 db = new SqlSugarClient(new ConnectionConfig { ConnectionString = connString, DbType = SqlSugar.DbType.SqlServer, IsAutoCloseConnection = true }); Console.WriteLine(db.Ado.Connection.State); } private void button1_Click(object sender, EventArgs e) { // 插入数据示例 var paraValue = new ParaValue { Name = "John" + DateTime.Now.ToString(), Value = 20.78f }; db.Insertable(paraValue).ExecuteCommand(); } private void button2_Click(object sender, EventArgs e) { //查询数据 //var result =db.Queryable<ParaValue>().ToList(); var result = db.Queryable<ParaValue>().Where(u => u.Id > 2).ToList(); foreach (ParaValue paraValue in result) { Console.WriteLine(paraValue.Name); } } private void button3_Click(object sender, EventArgs e) { //修改数据 db.Updateable<ParaValue>() .SetColumns(p => new ParaValue { Name = "hanzq", Value = 777.99f, Note = "adsfasdf" }) .Where(p => p.Id == 2) .ExecuteCommand(); } } }