/// <summary> /// 分页查询;函数中,存储过程参数含义见接口文档 /// </summary> /// <param name="table_Name">表或视图名</param> /// <param name="Fields">字段列表,“*”为全部字段</param> /// <param name="limit_Condition">where条件(不用带where)</param> /// <param name="order_By">排序关键字(不用带order by)</param> /// <param name="order_Direction">查询顺序(升序asc或降序desc)</param> /// <param name="page_Size">每页显示条数</param> /// <param name="current_Page">当前页码</param> /// <returns>返回一个数据集</returns> public List<Model.Ppt> Select(string table_Name, string Fields, string limit_Condition, string order_By, string order_Direction, int page_Size, int current_Page) { SqlParameter[] para = new SqlParameter[7];
para[0] = new SqlParameter("@TableName", table_Name); para[1] = new SqlParameter("@ReFieldsStr", Fields); para[2] = new SqlParameter("@OrderString", order_By); para[3] = new SqlParameter("@OrderDirection", order_Direction); para[4] = new SqlParameter("@WhereString", limit_Condition); para[5] = new SqlParameter("@PageSize", page_Size); para[6] = new SqlParameter("@PageIndex ", current_Page);
List<Model.Ppt> list = new List<Model.Ppt>(); Model.Ppt model = new Model.Ppt(); int fieldNum = 18; PropertyInfo[] infos = model.GetType().GetProperties(); string[] field = Fields.Split(',');
using (SqlDataReader reader = SQLHelper.ExecuteReader(conn, CommandType.StoredProcedure, "PROCE_PAGECHANGE", para)) { while (reader.Read()) { model = new Model.Ppt(); foreach (string fName in field) { for (int i = 0; i < fieldNum;i++ ) { if ("*" == fName) { if (infos.PropertyType == Type.GetType("Systerm.String")) { if (DBNull.Value != reader[infos.Name]) infos.SetValue(model, (string)reader[infos.Name], null);
}
if (infos.PropertyType == Type.GetType("System.Int32")) { if (DBNull.Value != reader[infos.Name]) infos.SetValue(model, (int)reader[infos.Name], null); } if (infos.PropertyType == Type.GetType("System.Double")) { if (DBNull.Value != reader[infos.Name]) infos.SetValue(model, (double)reader[infos.Name], null); } if (infos.PropertyType == Type.GetType("System.Boolean")) { if (DBNull.Value != reader[infos.Name]) infos.SetValue(model, (bool)reader[infos.Name], null); }
if (infos.PropertyType == Type.GetType("System.DateTime")) { if (DBNull.Value != reader[infos.Name]) infos.SetValue(model, (DateTime)reader[infos.Name], null); } } else { if (infos.Name == fName) { if (infos.PropertyType == Type.GetType("Systerm.String")) { if (DBNull.Value!=reader[fName]) infos.SetValue(model, (string)reader[fName], null); } if (infos.PropertyType == Type.GetType("System.Int32")) { if (DBNull.Value != reader[fName]) infos.SetValue(model, (int)reader[fName], null); }if (infos.PropertyType == Type.GetType("System.Double")) { if (DBNull.Value != reader[fName]) infos.SetValue(model, (double)reader[fName], null); } if (infos.PropertyType == Type.GetType("System.Boolean")) { if (DBNull.Value != reader[fName]) infos.SetValue(model, (bool)reader[fName], null); }
if (infos.PropertyType == Type.GetType("System.DateTime")) { if (DBNull.Value != reader[fName]) infos.SetValue(model, (DateTime)reader[fName], null); } } } } }
list.Add(model); } } return list;
}