你的位置:首页 > ASP.net教程

[ASP.net教程]带搜索条件分页的存储过程


这个存储过程主要是有两点:

1、动态拼接查询条件的分页

2、动态获取当前搜索条件的总行数

注意:如果用这种拼接查询条件传进来,为了更加地让系统安全,需要先过滤表单的特殊字符串

ALTER PROCEDURE [dbo].[OrdersListByCondition]   @pagesize int, @pageindex int, @condition nvarchar(1000), @totalcount int outputASBEGINdeclare @sql nvarchar(3000)declare @countSql nvarchar(3000)if @condition=''begin
--需要什么条件自己将*替换掉set @sql=' select * from (select top '+cast(@pagesize as nvarchar(30)) +' * from E_Orders where OrderID not in (select top ('+cast(@pagesize as nvarchar(30)) +' *('+cast(@pageindex as nvarchar(30)) +'-1)) OrderID from E_Orders order by OrderID desc) order by OrderID desc) o left join E_OrdersCommodity oc on o.OrderID=oc.OrderID order by OrderID desc'set @countSql='select @a=count(1) from E_Orders'endelsebegin set @sql=' select * from (select top '+cast(@pagesize as nvarchar(30)) +' * from E_Orders where OrderID not in (select top ('+cast(@pagesize as nvarchar(30)) +' *('+cast(@pageindex as nvarchar(30)) +'-1)) OrderID from E_Orders where '+ @condition+' order by OrderID desc) and '+ @condition+' order by OrderID desc) o left join E_OrdersCommodity oc on o.OrderID=oc.OrderID order by OrderID desc'set @countSql='select @a=count(1) from E_Orders where '+ @condition+''endexec(@sql)execute sp_executesql @countSql,N'@a INT output',@totalcount outputEND

后台拼接参数需要注意格式 :字段名='值',条件如 OrderID='20150721578942'   and Contacts='小四'

 /// <summary>  /// 拼接SQL查询条件  /// </summary>  /// <param name="strOrderStatus"></param>  /// <param name="strOrderID"></param>  /// <param name="strMallName"></param>  /// <param name="strContacts"></param>  /// <returns></returns>  private string[] GetConditionArray(string strOrderStatus, string strOrderID, string strMallName, string strContacts)  {    List<string> list = new List<string>();    if (strOrderStatus != "")    {      list.Add("OrderStatus='" + strOrderStatus + "'");    }if (strOrderID != "")    {      list.Add("OrderID='" + strOrderID + "'");    }    if (strMallName != "")    {      list.Add("MallName='" + strMallName + "'");    }    if (strContacts != "")    {      list.Add("Contacts='" + strContacts + "'");    }    return list.ToArray();  }

 




贵州旅游线路大全什么时候去贵州旅游最好贵州跟团旅游报价多少贵州旅游必去的地方是贵州旅游必去景点排名旅游大事件:国人赴日赏樱,促日形成“樱花经济”[二] 旅游大事件:国人赴日本赏樱,促成“樱花经济”[二] 流溪河公园5月有什么好玩的?从化流溪河5月份有什么活动? 流溪河音乐节有哪些明星?2015从化流溪河公园活动介绍? 2015广东油菜花几时去最好看?3月广东油菜花开了吗? 香市动物园游玩攻略?东莞香市动物园有哪些动物? 香市动物园一日游攻略?东莞香市动物园怎样玩? 东莞到香市动物园乘几路车?东莞到香市动物园在哪里坐车? 佛光普照甘孜城 庙宇文化引人入胜 周庄美食有什么? 九寨沟旅游必备品有哪些吗? 锦溪古镇住宿怎么样?价格多少? 可以直接从皮皮岛前往皇帝岛吗? 从泰国曼谷机场到四面佛怎么去,要多久时间? 泰国象岛有什么好吃的?泰国象岛有什么餐厅呢? 从泰国曼谷到清迈最便宜的交通方式? IDT71V3559S75BG Datasheet IDT71V3559S75BG Datasheet IDT72V3650L15PFI8 Datasheet IDT72V3650L15PFI8 Datasheet IDT5V9910A-7SOGI Datasheet IDT5V9910A-7SOGI Datasheet 黑龙江到香港两日旅游 黑龙江到香港两日旅游 黑龙江到香港两日旅游 佳木斯到香港三日旅游 佳木斯到香港三日旅游 佳木斯到香港三日旅游 四平到港澳4日游 四平到港澳4日游 四平到港澳4日游