学习SqlSugar的基本用法(增删改查)

  SqlSugar的功能十分强大,其支持多种类型的查询(基础查询、分页查询、分组去重、联表查询、树形查询等)、增删改、无实体/低代码操作等复杂、高级功能。本文学习使用其增删改查的基本功能用法,后续会逐步学习其高级用法。
  新建Winform项目,添加SqlSugarCore的NuGet包引用,本文使用之前基于温湿度、烟雾及火焰检测数据的环境检测数据库进行操作。

在这里插入图片描述
  首先创建SqlSugarClient对象实例,后续的增删改查都是调用的该对象中的相应函数实现的。

	SqlSugarClient db= new SqlSugarClient(new ConnectionConfig()
	      {
	          ConnectionString = txtConnStr.Text,
	          DbType = DbType.SqlServer,
	          IsAutoCloseConnection = false
	      });

  SqlSugarClient对象的Queryable函数支持无条件返回数据库表所有数据,不同于linq中的db.数据库表.where的函数形式,Queryable函数通过T指定查询的数据库表。如果需要按条件查询,则形式为SqlSugarClient.Queryable().Where()进行条件查询。具体到本文中,查询代码及返回结果如下所示:

	bsEcDatas.Clear();
    foreach (EnvironmentRecord ec in db.Queryable<EnvironmentRecord>().OrderBy(r => r.CreateTime).ToList())
    {
        bsEcDatas.Add(ec);
    }

在这里插入图片描述
  SqlSugarClient对象的Insertable函数插入单条数据,该函数后面还需要跟一个执行函数以执行数据库操作。执行函数由多种形式:1)Insertable(T obj).ExecuteCommand()返回插入行数;2)Insertable(T obj).ExecuteReturnIdentity()返回自增列标识。SqlSugarClient支持批量查询及异步插入,不过本文中没有用到,有兴趣的可以见参考文献1。新增数据及返回结果如下所示:

	 EnvironmentRecord newData = new EnvironmentRecord();
     newData.CreateTime = DateTime.Now;
     newData.DHTState = true;
     newData.ErrorMsg = String.Empty;
     newData.FlameValue=string.IsNullOrEmpty(txtFlame.Text)?null:Convert.ToInt32(txtFlame.Text);
     newData.Humidity = string.IsNullOrEmpty(txtHum.Text) ? null : Convert.ToInt32(txtHum.Text);
     newData.MQValue = string.IsNullOrEmpty(txtMq.Text) ? null : Convert.ToInt32(txtMq.Text);
     newData.Temperature = string.IsNullOrEmpty(txtTemp.Text) ? null : Convert.ToInt32(txtTemp.Text);

     txtID.Text = Convert.ToString(db.Insertable<EnvironmentRecord>(newData).ExecuteReturnIdentity());
     txtDate.Text = newData.CreateTime.ToString();

     UpdateQueryData();

在这里插入图片描述
在这里插入图片描述
  SqlSugarClient对象的Updateable函数更新单条数据,该函数后面还需要跟一个执行函数以执行数据库操作,更新数据主键对应的数据记录。SqlSugar支持批量更新数据,或者更新指定列的数据,不过本文中没有用到,有兴趣的可以见参考文献1。更新数据及结果如下所示:

	 EnvironmentRecord newData = new EnvironmentRecord();
     newData.ID = Convert.ToInt32(txtID.Text);
     newData.CreateTime = DateTime.Now;
     newData.DHTState = true;
     newData.ErrorMsg = String.Empty;
     newData.FlameValue = string.IsNullOrEmpty(txtFlame.Text) ? null : Convert.ToInt32(txtFlame.Text);
     newData.Humidity = string.IsNullOrEmpty(txtHum.Text) ? null : Convert.ToInt32(txtHum.Text);
     newData.MQValue = string.IsNullOrEmpty(txtMq.Text) ? null : Convert.ToInt32(txtMq.Text);
     newData.Temperature = string.IsNullOrEmpty(txtTemp.Text) ? null : Convert.ToInt32(txtTemp.Text);

     db.Updateable<EnvironmentRecord>(newData).ExecuteCommand();
     txtDate.Text = newData.CreateTime.ToString();

     UpdateQueryData();

在这里插入图片描述
在这里插入图片描述
  SqlSugarClient对象的Deleteable函数删除单条数据,该函数后面还需要跟一个执行函数以执行数据库操作,删除数据主键对应的数据记录。SqlSugar支持普通删除 、单表删除、表达式删除等多种删除方式,不过本文中没有用到,有兴趣的可以见参考文献1。删除数据及结果如下所示:

	db.Deleteable<EnvironmentRecord>(new EnvironmentRecord() { ID = Convert.ToInt32(txtID.Text) }).ExecuteCommand();
    UpdateQueryData();

在这里插入图片描述
在这里插入图片描述
  本文学习并测试了SqlSugar中最基本的增删改查函数的用法,后续会继续深入学习,并结合Layui的学习进行功能测试。

参考文献:
[1]https://www.donet5.com/Home/Doc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值