0317取出指定行区间数据几种方法

////////////////////数据库端参数方法////////////

        public List<GroupModel> GetAll(int startRowNum, int endRowNum)
        {

            string cmdText = @"Select * FROM (Select ROW_NUMBER() OVER (ORDER BY GroupId ASC) AS RowNum, * FROM ContactGroup) AS T where  @startRow <= RowNum AND RowNum < @endRow";

            var list = new List<GroupModel>();

            using (SqlConnection conn = new SqlConnection(connStr))
            {
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.Parameters.Add(new SqlParameter("@startRow", startRowNum));

                cmd.Parameters.Add(new SqlParameter("@endRow", endRowNum));
                conn.Open();
                using (IDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var model = new GroupModel();
                        model.GroupId = (int)reader["GroupId"];
                        //model.GroupId = DaoHelper.GetValueFromReader<int>(reader, "GroupId");
                        model.UserId = DaoHelper.GetValueFromReader<int>(reader, "UserId");
                        model.GroupName = DaoHelper.GetValueFromReader<string>(reader, "GroupName");
                        model.Description = DaoHelper.GetValueFromReader<string>(reader, "Description");
                        model.AddTime = DaoHelper.GetValueFromReader<DateTime?>(reader, "AddTime");

                        list.Add(model);
                    }
                }
            }
            return list;
        }

///////////////reader.read()/Web Server////////////循环控制

        public List<ContactModel> GetAll(int startIndex, int pageSize)
        {

            var list = new List<ContactModel>();
            string cmdText = "Select * From Contact ";
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                conn.Open();
                using (IDataReader reader = cmd.ExecuteReader())
                {
                    var index = 0;
                    while (reader.Read())
                    {
                        if (index >= startIndex && index < startIndex + pageSize)
                        {
                            var model = new ContactModel();

                            model.ContactId = (int)reader["ContactId"];

扫描二维码关注公众号,回复: 1380400 查看本文章


                            model.Name = DaoHelper.GetValueFromReader<string>(reader, "Name");
                            model.Sex = DaoHelper.GetValueFromReader<bool?>(reader, "Sex");
                            model.Mobile = DaoHelper.GetValueFromReader<string>(reader, "Mobile");
                            model.Tel = DaoHelper.GetValueFromReader<string>(reader, "Tel");
                            model.QQ = DaoHelper.GetValueFromReader<string>(reader, "QQ");
                            model.EMail = DaoHelper.GetValueFromReader<string>(reader, "EMail");
                            model.Address = DaoHelper.GetValueFromReader<string>(reader, "Address");
                            model.Zip = DaoHelper.GetValueFromReader<string>(reader, "Zip");
                            model.Birthday = DaoHelper.GetValueFromReader<DateTime?>(reader, "Birthday");
                            model.Memo = DaoHelper.GetValueFromReader<string>(reader, "Memo");
                            model.AddTime = DaoHelper.GetValueFromReader<DateTime?>(reader, "AddTime");
                            model.GroupId = DaoHelper.GetValueFromReader<int?>(reader, "GroupId");

                            list.Add(model);

                            index++;

                        }
                        else
                        {
                            if (index < startIndex)
                            {
                                index++; continue;
                            }
                            else
                            {
                                cmd.Cancel();
                                break;
                            }
                        }
                    }

                }
            }
            return list;

        }

/////////////////////////////////DateTable/////////////////

 public DataTable GetByPage(int pageIndex, int pageSize)
        {

                        string cmdText = @"Select * From Contact";
                   using (SqlConnection conn = new SqlConnection(connStr))
            {
                SqlCommand cmd = new SqlCommand(cmdText, conn);

                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "Table1");
                return ds.Tables[0];

            }
        }

猜你喜欢

转载自houyi04731.iteye.com/blog/1456480