public virtual IDataReader GetDataReaderByPage(out int recordCount, int pageIndex = 0, int pageSize = 20, string sortExpression = null, string sortDire = null, string tableName = null, string conditional = null, IDbDataParameter[] dbParameters = null, string selectField = null) { if (string.IsNullOrEmpty(tableName)) { tableName = this.CurrentTableName; } if ((tableName.ToUpper().IndexOf("SELECT") < 0) && (this.DBProvider.CurrentDbType != CurrentDbType.MySql)) { return(DbCommonLibary.GetDataReaderByPage(this.DBProvider, out recordCount, pageIndex, pageSize, sortExpression, sortDire, tableName, conditional, selectField)); } string str = string.Empty; if (string.IsNullOrEmpty(tableName)) { tableName = this.CurrentTableName; } string str2 = string.Empty; if (!string.IsNullOrEmpty(conditional)) { str2 = string.Format(" WHERE {0} ", conditional); } str = tableName; if (tableName.ToUpper().IndexOf("SELECT") >= 0) { str = "(" + tableName + ") T "; } str = string.Format("SELECT COUNT(1) AS recordCount FROM {0} {1}", str, str2); object obj2 = this.DBProvider.ExecuteScalar(str, dbParameters); recordCount = obj2 != null?int.Parse(obj2.ToString()) : 0; return(DbCommonLibary.GetDataReaderByPage(this.DBProvider, recordCount, pageIndex, pageSize, tableName, dbParameters, sortExpression, sortDire)); }
public virtual IDataReader GetDataReaderByPage(out int recordCount, int pageIndex, int pageSize, string whereClause, IDbDataParameter[] dbParameters, string order) { recordCount = DbCommonLibary.GetCount(this.DBProvider, this.CurrentTableName, whereClause, dbParameters); return(DbCommonLibary.GetDataReaderByPage(this.DBProvider, this.CurrentTableName, this.SelectField, pageIndex, pageSize, whereClause, dbParameters, order)); }