一个简单的分页组合查询页面
/// <summary> /// 查询方法 /// </summary> /// <param name="tsql">SQL语句</param> /// <param name="hh">哈希表</param> /// <returns></returns> public List<Goods> Select(string uname, string sql, Hashtable hs) { List<Goods> glist = new List<Goods>(); cmd.CommandText = sql; cmd.Parameters.Clear(); foreach (string aa in hs.Keys) { cmd.Parameters.AddWithValue(aa, hs[aa]); } conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { Goods g = new Goods(); g.Ids = Convert.ToInt32(dr["Ids"]); g.Sname = dr["Sname"].ToString(); g.Number = dr["Number"].ToString(); g.Date = Convert.ToDateTime(dr["Date"]); g.Shelf = Convert.ToInt32(dr["Shelf"]); g.Contacts = dr["Contacts"].ToString(); g.Tel = dr["Tel"].ToString(); g.UserName = uname; glist.Add(g); } } conn.Close(); return glist; } /// <summary> /// 查询方法(页数) /// </summary> /// <param name="tsql"></param> /// <param name="hh"></param> /// <returns></returns> public List<Goods> Select(string uname, int count, int page, string sql, Hashtable hs) { List<Goods> glist = new List<Goods>(); string sql1 = sql.Replace("*", "top " + count + " * "); string sql2 = sql.Replace("*", "top " + (page - 1) * count + " Ids "); cmd.CommandText = sql1 + " and Ids not in(" + sql2 + ")"; cmd.Parameters.Clear(); foreach (string aa in hs.Keys) { cmd.Parameters.AddWithValue(aa, hs[aa]); } conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { Goods g = new Goods(); g.Ids = Convert.ToInt32(dr["Ids"]); g.Sname = dr["Sname"].ToString(); g.Number = dr["Number"].ToString(); g.Date = Convert.ToDateTime(dr["Date"]); g.Shelf = Convert.ToInt32(dr["Shelf"]); g.Contacts = dr["Contacts"].ToString(); g.Tel = dr["Tel"].ToString(); g.UserName = uname; glist.Add(g); } } conn.Close(); return glist; }