using System; using System.Collections.Generic; using System.Data; using System.Linq.Expressions; using SqlSugar; namespace Mtxfw.Utility.DataAccess { /// /// DataTable类 /// public partial class Sql : DbHelperSqlSugar { /// /// 通过SQL语句获取DataSet /// /// sql -> select * from table where id=@id and name=@name /// 参数 -> new {id=1,name="a"} /// 返回DataSet数据 public DataTable GetDataTable(string sql, object parameters) { return Db.Ado.GetDataTable(sql, parameters); } /// /// 通过SQL语句获取DataSet /// /// sql -> select * from table where id=@id and name=@name /// /// 参数 -> new SugarParameter("@id",1), /// 多个参数 -> new SugarParameter []{ new SugarParameter("@id",1), new SugarParameter("@name",2)} /// /// 返回DataSet数据 public DataTable GetDataTable(string sql, params SugarParameter[] parameters) { return Db.Ado.GetDataTable(sql, parameters); } /// /// 通过SQL语句获取DataSet /// /// sql -> select * from table where id=@id and name=@name /// /// 多个参数 -> new List(){ new SugarParameter("@id",1), new SugarParameter("@name",2) } /// /// 返回DataSet数据 public DataTable GetDataTable(string sql, List parameters) { return Db.Ado.GetDataTable(sql, parameters); } /// /// 通过SQL语句获取DataTable(带分页) /// /// /// 当前页 /// 每页显示条数 /// 排序 /// public DataTable GetDataTable(string sql, int page, int pageSize, string orderBy) { int recordCount = Db.Ado.GetInt(PagingHelper.CreateCountingSql(sql)); return Db.Ado.GetDataTable(PagingHelper.CreatePagingSql(recordCount, pageSize, page, sql, orderBy)); } /// /// 通过SQL语句获取DataTable(带分页) /// /// 当前页 /// 每页显示条数 /// 排序 /// 总记录数 返回值 public DataTable GetDataTable(string sql, int page, int pageSize, string orderBy, out int recordCount) { recordCount = Db.Ado.GetInt(PagingHelper.CreateCountingSql(sql)); return Db.Ado.GetDataTable(PagingHelper.CreatePagingSql(recordCount, pageSize, page, sql, orderBy)); } /// /// 查询数据 /// /// /// /// public DataTable FindToDataTable(Expression> predicate, string orderBy = "") where T : class, new() { return Db.Queryable().Where(predicate).OrderByIF(!string.IsNullOrEmpty(orderBy), orderBy).ToDataTable(); } /// /// 查询数据 /// /// /// /// public DataTable FindToDataTable(string strWhere, string orderBy = "") where T : class, new() { return Db.Queryable().Where(strWhere).OrderByIF(!string.IsNullOrEmpty(orderBy), orderBy).ToDataTable(); } /// /// 查询数据 /// /// /// /// public DataTable FindToDataTableByWhere(string strWhere = "", string orderBy = "") where T : class, new() { return Db.Queryable().WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).OrderByIF(!string.IsNullOrEmpty(orderBy), orderBy).ToDataTable(); } /// /// 分页查询 /// /// /// /// /// /// /// /// public DataTable FindToDataTablePage(int pageIndex, int pageSize, Expression> predicate, string orderBy, ref int records) where T : class, new() { int count = GetCount(predicate); var page = Db.Queryable().Where(predicate).OrderBy(orderBy).ToDataTablePage(pageIndex, pageSize, ref records); return page; } } }