第一次分享代码,不足或不对之处请指正。。
需求:微信端传递不同的参数调用WebAPI进行分页查询菜谱计划点评结果
思路:基于视图来查询,根据传递的不同参数拼接分页查询Sql来查询。
分页的sql如下
select * from 视图 where 排序字段 in( select top 每页数量 排序字段 from ( select top 每页数量 排序字段 from 视图 where条件 order by 排序字段 asc ) t )
首先建立参数模型类BasePageQueryInfo
/// <summary> /// 分页查询信息-基类 /// </summary> public class BasePageQueryInfo { /// <summary> /// 查询语句 /// </summary> protected string _querySql; /// <summary> /// 查询语句 /// </summary> public string QuerySql { get { return _querySql; } } /// <summary> /// 查询视图名称 /// </summary> protected string _view; /// <summary> /// 查询视图名称 /// </summary> public string View { get { return _view; } } /// <summary> /// 每页记录数 /// </summary> public int PageSize { get; set; } /// <summary> /// 当前页 /// </summary> public int Page { get; set; } /// <summary> /// 排序字段 /// </summary> public string OrderByField { get; set; } /// <summary> /// 排序/降序 /// </summary> public string OrderBy { get; set; } /// <summary> /// where查询条件 /// </summary> protected string _whereCondition; /// <summary> /// where查询条件 /// </summary> public string WhereCondition { get { return _whereCondition; } } /// <summary> /// where入参 /// </summary> protected List<SqlInParameter> _listSqlInParameter; /// <summary> /// where入参 /// </summary> public List<SqlInParameter> ListSqlInParameter { get { return _listSqlInParameter; } } /// <summary> /// 总条目数Sql /// </summary> protected string _totalCountSql; /// <summary> /// 总条目数Sql /// </summary> public string TotalCountSql { get { return _totalCountSql; } } /// <summary> /// 分页查询Sql /// </summary> protected string _pageSql; /// <summary> /// 分页查询Sql /// </summary> public string PageSql { get { return _pageSql; } } /// <summary> /// 初始化分页查询属性 /// </summary>