public DataTable QueryExChanged(ExChangedProductSearch search) { DataTable table2; try { IDataReader reader; StringBuilder builder = new StringBuilder(" 1=1 "); int num = 0; if (search.exChangeId.HasValue) { builder.Append(string.Format(" and exChangeID={0} ", search.exChangeId.Value)); } string query = "select count(ProductId) as total from Hishop_PointExchange_Changed where " + builder.ToString(); DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query); using (reader = this.database.ExecuteReader(sqlStringCommand)) { num = int.Parse(DataHelper.ConverDataReaderToDataTable(reader).Rows[0][0].ToString()); } if (num <= 0) { return(null); } int pageSize = 0; int num3 = search.PageIndex * search.PageSize; if ((search.PageIndex != 0) && (search.PageSize != 0)) { pageSize = search.PageSize; if (search.PageIndex >= Math.Ceiling((double)(((double)num) / ((double)search.PageSize)))) { search.PageIndex = int.Parse(Math.Ceiling((double)(((double)num) / ((double)search.PageSize))).ToString()); } int num4 = search.PageIndex * search.PageSize; if (num4 > num) { pageSize = search.PageSize - (num4 - num); } } string str2 = "order by a.ExChangeID desc , a.Date desc "; string str3 = "order by ExChangeID , Date "; string str4 = "order by ExChangeID desc , Date desc "; string str5 = string.Format("select top {0} a.* , b.ProductName,b.ThumbnailUrl40 from Hishop_PointExchange_Changed a left join [Hishop_Products] b on a.ProductID=b.ProductID where ", num3); string str6 = string.Format("select * from ( select top {0} * from ( {1} ) as t1 {2} ) as t2 {3} ", new object[] { pageSize, str5 + builder.ToString() + str2, str4, str3 }); sqlStringCommand = this.database.GetSqlStringCommand(str6); using (reader = this.database.ExecuteReader(sqlStringCommand)) { table2 = DataHelper.ConverDataReaderToDataTable(reader); } } catch (Exception) { table2 = null; } return(table2); }
public System.Data.DataTable QueryExChanged(ExChangedProductSearch search) { System.Data.DataTable result; try { StringBuilder stringBuilder = new StringBuilder(" 1=1 "); int num = 0; if (search.exChangeId.HasValue) { stringBuilder.Append(string.Format(" and exChangeID={0} ", search.exChangeId.Value)); } string query = "select count(ProductId) as total from Hishop_PointExchange_Changed where " + stringBuilder.ToString(); System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query); using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand)) { System.Data.DataTable dataTable = DataHelper.ConverDataReaderToDataTable(dataReader); num = int.Parse(dataTable.Rows[0][0].ToString()); } if (num <= 0) { result = null; } else { int num2 = 0; int num3 = search.PageIndex * search.PageSize; if (search.PageIndex != 0 && search.PageSize != 0) { num2 = search.PageSize; if ((double)search.PageIndex >= Math.Ceiling((double)num / (double)search.PageSize)) { search.PageIndex = int.Parse(Math.Ceiling((double)num / (double)search.PageSize).ToString()); } int num4 = search.PageIndex * search.PageSize; if (num4 > num) { num2 = search.PageSize - (num4 - num); } } string str = "order by a.ExChangeID desc , a.Date desc "; string text = "order by ExChangeID , Date "; string text2 = "order by ExChangeID desc , Date desc "; string str2 = string.Format("select top {0} a.* , b.ProductName,b.ThumbnailUrl40 from Hishop_PointExchange_Changed a left join [Hishop_Products] b on a.ProductID=b.ProductID where ", num3); string query2 = string.Format("select * from ( select top {0} * from ( {1} ) as t1 {2} ) as t2 {3} ", new object[] { num2, str2 + stringBuilder.ToString() + str, text2, text }); sqlStringCommand = this.database.GetSqlStringCommand(query2); using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand)) { System.Data.DataTable dataTable = DataHelper.ConverDataReaderToDataTable(dataReader); result = dataTable; } } } catch (Exception) { result = null; } return(result); }