ASP在翻页时保留查询条件的一般模式

在有查询表单的页面,如果输入查询条件得到的结果分多页的话,在翻页的时候怎么保持结果是原来的查询条件查出来的呢?也就是说翻页时怎么让查询条件保持。

我是以ASP的动态查询作为例子,但对于其他语言也应该是相通的吧。

先看代码示例

ASP/Visual Basic代码
  1. If mykey="" Then  
  2.     '点击了查询但查询条件为空时,默认的查询  
  3.     sql="select * from An_StudentSelectClass order by id desc"  
  4.     session("sql")=sql  
  5. ElseIf mykey="要查询的内容" Then  
  6.     '正常查询时  
  7.     sql="select * from An_StudentSelectClass where keywords like '%"&mykey&"%' order by id desc"  
  8.     session("sql")=sql  
  9. End If  
  10. If session("sql")<>"" Then  
  11.     '翻页时  
  12.     sql=session("sql")  
  13. Else  
  14.     '查询后超时或首次载入没有查询时  
  15.     sql="select * from An_StudentSelectClass order by id desc"  
  16. End If 
  17. rs.open sql,conn,1,1

代码判断了三个状态:1、首次载入没有查询动作;2、空条件查询;3、合法条件查询。

空条件查询后相当于初始化到首次载入的状态。

注意:如果一个系统里有多个页面用到这个模式,记得把session("sql")命名为不同,比如session("sqlother"),不然会相互之间窜数据而显示混乱。

备用备忘。

 

下面记录一个列转行再拆分查询的处理方法。

问题:要从下面的记录中找出包含3的记录。

1,2,3,5,7,8

3

2,13,15

ASP/Visual Basic代码
  1. sqlct="select ID from An_Teacher where "&"','+"&"ID"&"+','"&" like '%,3,%' "   
SQL代码
  1. select ID from dbo.An_Teacher where ','+ID+',' like '%,3,%'  
  2. --注意下面的不行,会把含13的也找出来  
  3. select ID from dbo.An_Teacher where ID+',' like '%3,%'  

添加辅助的字符,是一种解决方法的思路,谢谢CK同学提供的帮助。



[本日志由 ancher 于 2013-06-24 01:26 PM 更新]
上一篇: JS-javascript的一些用法收集备忘
下一篇: ACCESS与SQL SERVER的一些细微区别
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ASP 查询条件
相关日志:
评论: 0 | 引用: 0 | 查看次数: 1558
发表评论
你没有权限发表评论!