SqlSugar查询数据库并返回DataTable对象

李怎么说 李怎么说 2025年04月12日 20:00 广东

图片

      在C#中,操作数据库有多种方式可供选择。在早期,开发者通常使用ADO.NET这种原生方式来与数据库进行交互。然而,这种方式要求编写大量的SQL语句,并且随着项目复杂度的增加,代码的维护难度也随之提升。为了应对这些问题,诸如SqlSugar等ORM(对象关系映射)框架应运而生,它们通过映射数据库表到对象模型,极大地简化了数据库操作。

     尽管如此,在某些场景下,原生的DataTable对象仍然具有其独特的优势。以笔者所经历的项目为例,该系统涉及POS机器、后端服务以及用友系统三个部分的集成。在查询后端数据库时,如果直接返回自定义对象,虽然符合面向对象的设计原则,但实现过程相对繁琐。特别是当需要将查询结果直接绑定到如DataGridView这样的控件时,由于DataGridView的dataSource属性原生支持DataTable,因此使用DataTable能够显著减少开发工作量。

     值得庆幸的是,SqlSugar框架不仅提供了便捷的ORM功能,还支持执行原生SQL查询,并能够直接将查询结果返回为DataTable对象。这一特性使得开发者在享受ORM带来的便利的同时,也能在需要时灵活利用DataTable的优势,从而更加高效地完成数据库操作任务。

      代码实现如下:

public async Task<AdminUiCallBack> GetReceiveData(string ccustomerid) {
     string sql = $"SELECT p.paymentId as FPayID,p.BankNo,pm.name as FPay,pm.name as FPayName,''  as  FExplanation, sum(p.changeAmount) as FAmount,1 as FChecked  FROM corecmsorderpay p join  corecmspayments pm  on pm.id=p.paymentId  where p.ccustomerid='{ccustomerid}'    group by paymentId  ";          ///DbClient是SqlSugarClient对象,在这里我使用了依赖注入的方式注入,省略了一些代码    /// SqlSugar 操作数据库并且返回DataTable对象     System.Data.DataTable dt = DbClient.Ado.GetDataTable(sql);
     return new AdminUiCallBack()     {         code = 0,         data = dt     }; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值