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"];


                            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];

            }
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值