码迷,mamicode.com
首页 > 其他好文 > 详细

分页查询

时间:2017-11-22 21:55:44      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:put   输出参数   参数   转换   mys   str   字符串   return   sql存储过程   

 

--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 ‘%‘+@name+‘%‘

--查询当前页应该显示的数据
select * from(select fruit.*,typename,rowId=ROW_NUMBER() over(order by fruit.fid) from fruit,fruittype
where fruit.id=fruittype.id and name like ‘%‘+@name+‘%‘) 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&name=@ViewBag.name">首页</a>
            @for (int i = 1; i <= @ViewBag.ye; i++)
            {
            <a href="/Home/Index?page=@i&name=@ViewBag.name">@i</a>
            }
            <a href="/Home/Index?page=@ViewBag.ye&name=@ViewBag.name">尾页</a>

分页查询

标签:put   输出参数   参数   转换   mys   str   字符串   return   sql存储过程   

原文地址:http://www.cnblogs.com/qiaocong/p/7881025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!