|
主题: 怎样制作跳转到第?记录
|
 小彬
职务:普通成员
等级:1
金币:1.0
发贴:193
注册:2000/10/25 7:49:46
|
#12001/10/5 22:51:00
我制作了一个跳转到第?记录的功能,用IE进行测试出现,跳转的记录数多是比输入的数字多1,如输入4,显示的是第5条记录。 我的制作方法:
|
 風雲
职务:普通成员
等级:2
金币:1.0
发贴:281
注册:2001/6/24 14:11:35
|
#22001/10/6 3:12:32
利用隐藏域的方法,结合JSCRIPT。
|
 小彬
职务:普通成员
等级:1
金币:1.0
发贴:193
注册:2000/10/25 7:49:46
|
#32001/10/6 14:28:24
能否说详细一点?
|
 tonton_5d
职务:普通成员
等级:2
金币:1.0
发贴:176
注册:2001/8/7 23:57:56
|
#42001/10/7 9:57:21
你的记录中如果有一个字段是表示记录序号的话(比如自动编号类型字段),那么只要在SQL语句中用加入"WHERE ID=" & rsNO就可以了。
|
 小彬
职务:普通成员
等级:1
金币:1.0
发贴:193
注册:2000/10/25 7:49:46
|
#52001/10/7 12:09:15
tonton谢谢,我怎么就没有想到。
|
 小彬
职务:普通成员
等级:1
金币:1.0
发贴:193
注册:2000/10/25 7:49:46
|
#62001/10/8 20:10:50
toto兄你的方法是可行,但我在查询有条件的结果时,就不能用数据库的ID进行跳转了,输入的ID对查询者来说,这可能出来的记录根本不是他所要查询的? 风云说“利用隐藏域的方法,结合JSCRIPT”,不知哪位网友能否帮我说明详细一些。
|
 tonton_5d
职务:普通成员
等级:2
金币:1.0
发贴:176
注册:2001/8/7 23:57:56
|
#72001/10/9 11:25:51
有两个方法: 第一种是在重新取得记录集(就是取得符合你要求的记录集recordset),然后用一个循环: dim num,flags num=1 flags=false do while rs.EOF if num=20 then '在这里添加你要的操作代码 flags = true exit do '跳出循环 else num=num+1 end if loop if flags=false then '没有找到记录的代码 end if
第二种方法,使用记录分页的方法,把pagesize设为1,然后改变当前页AbsolutePage的值,即你要哪一条记录就把当前页设为这个数。当然,你得先判决要跳转的记录序号是不是在合法范围内。
dim rsNo rsNo=.... '获取记录序号 rsN0=Clng(rsNo) if rsNo<0 then '错误序号 elseif rsNo>recordset.PageCount then '错误序号 else '正确序号 end if recordset.AbsolutePage=rsNo .......
------------- 以上方法不需要用到任何隐藏域或JS
编辑历史:[这消息被tonton编辑过(编辑时间2001-10-09 11:26:58)]
|
 blshfw
职务:普通成员
等级:1
金币:1.0
发贴:241
注册:2001/5/15 16:44:13
|
#82001/10/9 15:57:53
asp里不是有现成的语句吗?语法如下: 变量=Recordset对象变量.AbsolutePosition 将记录指针设定为指向第N条记录底语法如下: Recordset对象变量.AbsolutePosition = N
不过,请你注意,在asp网页想要使用AbsolutePosition属性时,所打开的记录集不可以使用动态记录指针与向前记录指针。换句话说,调用Recordset对象的Open方法时,传人的第三个参数值,仅能使用1(静态记录指针)或3(索引记录指针)。
|