/// <summary> /// 通过存储过程“Common_GetList”,得到分页后的数据 /// </summary> /// <param name="startRowIndexId">开始行索引</param> /// <param name="maxNumberRows">每页最大显示数量</param> /// <param name="SortColumn">排序字段名,只能指定一个字段</param> /// <param name="StrColumn">返回列名</param> /// <param name="Sorts">排序方式(DESC,ASC)</param> /// <param name="Filter">查询条件(例如: Name = 'name' and id=1 )</param> /// <param name="TableName">查询表名,可以指定联合查询的SQL语句(例如: Comment LEFT JOIN Users ON Comment.UserName = Users.UserName)</param> /// <param name="Total">输出参数:查询总数</param> /// <returns></returns> public virtual IList <ProductPriceEntity> GetList(int startRowIndexId, int maxNumberRows, string SortColumn, string StrColumn, string Sorts, string Filter, string TableName, out int Total) { IList <ProductPriceEntity> list = new List <ProductPriceEntity>(); if (string.IsNullOrEmpty(SortColumn)) { SortColumn = "ID"; } if (string.IsNullOrEmpty(StrColumn)) { StrColumn = "*"; } if (string.IsNullOrEmpty(Sorts)) { Sorts = "DESC"; } if (string.IsNullOrEmpty(TableName)) { TableName = "ProductPrice"; } string storedProcedureName = "Common_GetList"; SqlParameter parmStartRows = new SqlParameter("StartRows", startRowIndexId); SqlParameter parmPageSize = new SqlParameter("PageSize", maxNumberRows); SqlParameter parmSortColumn = new SqlParameter("SortColumn", SortColumn); SqlParameter parmStrColumn = new SqlParameter("StrColumn", StrColumn); SqlParameter parmSorts = new SqlParameter("Sorts", Sorts); SqlParameter parmTableName = new SqlParameter("TableName", TableName); SqlParameter parmFilter = new SqlParameter("Filter", Filter); SqlParameter parmTotal = new SqlParameter("Total", SqlDbType.Int); parmTotal.Direction = ParameterDirection.Output; IDataParameter[] parameterArray = new IDataParameter[8]; parameterArray[0] = parmStartRows; parameterArray[1] = parmPageSize; parameterArray[2] = parmSortColumn; parameterArray[3] = parmStrColumn; parameterArray[4] = parmSorts; parameterArray[5] = parmTableName; parameterArray[6] = parmFilter; parameterArray[7] = parmTotal; using (NullableDataReader reader = _DB.GetDataReaderByProc(storedProcedureName, parameterArray)) { while (reader.Read()) { list.Add(GetEntityFromrdr(reader)); } } Total = (int)parmTotal.Value; return(list); }