分页查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分页查询相关的知识,希望对你有一定的参考价值。

 

--SQL存储过程

--分页+显示
--创建分页+查询存储过程
create  proc fruit_show
--分页需要(三个参数: pageindex当前页码 pagesize每页需要显示的记录数 pagecount总记录数(为输出参数)) 模糊查询参数:name  
@pageindex int,
@pagesize int,
@name varchar(50),
@pagecount int out
as
--查询总记录数 因为总记录数是数据库给的 所以我们采取的把总记录数赋值给输出参数pagecount 因为模糊查询name是从前台获取的 所以是把@name这个输入参数的值给予数据库里想要的字段
select @pagecount=COUNT(*) from fruit where name like ‘%‘[email protected]+‘%‘

--查询当前页应该显示的数据
select * from(select fruit.*,typename,rowId=ROW_NUMBER() over(order by fruit.fid) from fruit,fruittype
where fruit.id=fruittype.id and name like ‘%‘[email protected]+‘%‘) newfruit where rowId between ((@pageindex-1)*@pagesize+1) and (@pageindex*@pagesize)
go

--控制器

//实例化服务端
        ServiceReference1.MyServiceClient client = new ServiceReference1.MyServiceClient();   
        /// <summary>
        /// 显示、分页、模糊查询分页视图动作
        /// </summary>
        /// <param name="name"></param>
        /// <param name="page"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        public ActionResult Index(string name,int page=1,int pagesize = 2)   //初始化页码值以及每页记录数
        {
            //判断参数是否为空,强制转换为空字符串
            if (name == null)
            {
                name = "";
            }
            //总记录数
            int pc;
            //获取数据库当前页面需要查询集合
            List<ServiceReference1.fruit> lst = client.show(name, page, pagesize, out pc).ToList();
            //计算页码长度(方式1)
            ViewBag.ye = Math.Ceiling((double)pc / (double)pagesize);
            //返回到前台处理页码长度(方法2)
            //ViewBag.pagecount = pc;
            //ViewBag.pagesize = pagesize;

            //@ViewBag.name是为了固定参数
            ViewBag.name = name;
            //返回视图模型
            return View(lst);
        }

 

--视图

<input type="text" name="name" value="@ViewBag.name" /><input type="submit" value="查询" />

<a href="/Home/Index?page=1&[email protected]">首页</a>
            @for (int i = 1; i <= @ViewBag.ye; i++)
            {
            <a href="/Home/[email protected]&[email protected]">@i</a>
            }
            <a href="/Home/[email protected]&[email protected]">尾页</a>

以上是关于分页查询的主要内容,如果未能解决你的问题,请参考以下文章

MybatisPlus分页条件查询

分页查询

对数据分页后,2次查询的分页,点击上一页,下一页,首页,尾页,都会跳到2次查询之前的分页显示,怎么办

mongodb 多表分页怎么查询

oracle做分页查询怎么做?

SqlServer 多表查询分页