怎样在ASP中实现从检索结果中再次检索?(15分)

  • 主题发起人 主题发起人 yukaikai
  • 开始时间 开始时间
Y

yukaikai

Unregistered / Unconfirmed
GUEST, unregistred user!
比如已经检索出100条记录,怎样从这100条记录中再次检索?
 
先把他们读到临时表中
select * into tmptable from yourtable where ..
然后再
select * from tmptable where ..
 
想办法把条件保存起来,下次检索时把新旧条件 and 成一个条件.(对ASP不懂)
 
To g622
>>先把他们读到临时表中
>>select * into tmptable from yourtable where ..
delphi 中支持吗?
好象不行吧?
 
这和delphi无关,关键是看你用的数据库
select into 是access,sql server的语法
 
不能用临时表的方案!因为http是无连接的协议,所以如果你用临时
表的方案,那么你所面临的一个问题是临时表何时删除,由于你无法
感知用户何时下网,你只能用延时删除,那么关键就在于超时的时间
如何确定,显然,三分钟是不够的,一小时够吗?也许还有一些慢性
子会在一小时以后再提交第二次检索,这时你的主页就出错了。一天
总该够了吧,差不多,对于那些在一天以后再提交二次检索的疯子们
就让它错去吧。不过,。。。如果在这一天里有一万个首次检索出现,
你的数据库里不就得保存一万张临时表吗?这一来你的数据库就算没
有被撑爆,恐怕也比蜗牛快不到哪去了。

还是省点事吧,用保存条件的方案!
 
g622 说得对
asp查寻关键是所用数据库。。。
 
赞成夜猫子
WEB数据库不能用临时表
而且我觉得保存条件再检索一次要多
 
1.我做过一个你说的系统.ASP编程,逐级检索,用的是逐级添加条件的方法.但是是实用系统,所以不能给你细讲.
2.临时表方法考虑过,但是涉及到用户和检索的匹配,以及效率是否就高的问题,放弃了.
3.可以考虑用RDS组件,将第一次的结果集存放在客户段的内存中,逐级检索时等于是用户端本地操作,速度会快些吧.
 
youtoo说得对,应该用RDS组件!保持效率
 
我想不通干什么要那么多检索!
简单些吧!不是每人都是网虫
 
>而且我觉得保存条件再检索一次要多
打错了,是要快,而且可能快得多
 
好象可以把检索式做到客户端的cookie里吧,那样2次检索应该没什么问题
 
youtoo:
可以讲一下rds组件吗?
代原马吗?
 
听听rds组件
 
1.动态生成SELECT语句:
SQL="SELECT * FROM 表名 WHERE True"
if 条件 then
SQL=SQL & " AND " & "列名='" & 条件 &"'"
End if
if 条件 then
SQL=SQL & " AND " & "列名='" & 条件 &"'"
End if
....
最后执行此查询
Dim Conn
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DSN= ; UID= ; PSW=""
Set Rs=Conn.Execute(SQL)
 
我认为就是sql的条件后面再添加新的限制条件。

在你的页面中用一个隐含表单保存你的where条件
下次读出来,再添加新的限制条件。
 
接受答案了.
 
后退
顶部