using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using ZXDT.DBUtility; namespace ZXDT.CallCenter.DAL { public class PagerDAL { /// /// 分页获取数据 /// /// /// /// /// public static DataTable GetListPager(string TableName, string PK, string Fields, string WhereStr, string OrderStr, int PageSize, int PageIndex, bool IsCount, out int RecordCount) { DataTable dt = DbHelperSQL.RunPagination(TableName, PK, Fields, WhereStr, OrderStr, PageSize, PageIndex, IsCount, out RecordCount); return dt; } public static DataTable GetTableList(string TableName, string PK, string Fields, string strWhere, string orderby, int PageSize, int PageIndex, out int RecordCount) { StringBuilder strSqlCount = new StringBuilder(); strSqlCount.AppendFormat("SELECT count(1) FROM {0} ", TableName); strSqlCount.Append(" WHERE 1=1 " + strWhere); RecordCount= DbHelperSQL.GetSingle(strSqlCount.ToString()).ToInt32() ; StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT * FROM ( "); strSql.Append(" SELECT ROW_NUMBER() OVER ("); strSql.Append("order by " + orderby); strSql.AppendFormat(")AS Row, {0} from {1} ", Fields.Replace("\r\n"," "), TableName); strSql.Append(" WHERE 1=1 " + strWhere); strSql.Append(" ) TT"); strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", (PageIndex-1)* PageSize+1, PageIndex*PageSize); DataSet ds= DbHelperSQL.Query(strSql.ToString()); if (ds != null && ds.Tables[0] != null) { return ds.Tables[0]; } return null; } } }