标题:读取数据库第n条到第m条的记录完整实例怎么写?
只看楼主
xuehao
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-1-18
结帖率:55.56%
已结贴  问题点数:10 回复次数:6 
读取数据库第n条到第m条的记录完整实例怎么写?
我是初级的,想问下:
如何从数据表中取出第n条到第m条的记录,
下面的意思我也不太懂,
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select top n-m+1 * from [user1] where (id not in (select top m-1 id from [user1]))"  rs.open Sql, conn,1,1

接下应当怎么输出显示效果呢。
搜索更多相关主题的帖子: 数据库 数据表 
2011-04-06 09:19
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
如果id是数字可以使用between and
比如读id为10到50的记录
select * from tablename where id between 10 and 50
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from [user1] where id between 10 and 50"  rs.open Sql, conn,1,1
2011-04-06 14:00
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
for i=1 to n
 rs.MoveNext
next

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-04-06 14:47
twtrwr
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:102
注 册:2011-3-31
得分:0 
sql="select top n-m+1 * from [user1] where (id not in (select top m-1 id from [user1]))"  rs.open Sql, conn,1,1
select top n-m+1 * from [user1] 这句的意思是查询数据表user1中前 n-m+1 条记录,

select top m-1 id from [user1])这句的意思是按id查询数据表user1中为前 m-1  条记录,

 where (id not in 这句的意思是id不再上面那个m-1条记录中

这个好像不是读取数据库第n条到第m条的记录
2楼的和3楼版主的方法就很好啊。。。

男人无所畏惧,应越战越勇
2011-04-06 21:43
xuehao
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-1-18
得分:0 
谢你们,但是我还是不会,那位给我写下具体的实例呢?
是翻页中的实例,求当前页面的第1条记录到当前页面的最后条记录。
2011-04-08 08:44
twtrwr
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:102
注 册:2011-3-31
得分:10 
dim str,conn
Set conn = Server.CreateObject("ADODB.Connection")
str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("db/ly.mdb") ly.mdb为留言数据库

conn.open str
set rs=Server.CreateObject("adodb.recordset")
 rs.open "select name as 姓名 ,title as 标题, content as 内容 from ly",conn,1,3  打开连接

rs.pagesize=5  rs的pagesize属性,,定义每页中显示几条记录
if request("pages")<>"" then  判断pages是否为空,pages为传递的参数
  epage=cint(request("pages"))
   if epage<1 then epage=1
   if epage>rs.pagecount then epage=rs.pagecount
else
epage=1
end if
rs.absolutepage=epage  
absolutepage属性是当前页面的绝对位置,
,如果epage为2,他会自动显示在第二页的第一条。absolutepage计算的过程自动完成,计算公式为 AbsolutePosition = (AbsolutePage-1) * PageSize+1


for i=0 to rs.pagesize-1
if rs.bof or rs.eof then exit for
%>
<tr  bgcolor="#000000"  align="left">
<td><%=rs(0).value%></td><td><%=rs(1).value%></td><td><%=rs(2).value%></td>
</tr>
<%
rs.movenext()
next   通过for来显示记录

<div id="right">
<p align="center">
<a href="liuyan.asp?pages=1">第一页</a>&nbsp;
<a href="liuyan.asp?pages=<%=epage-1%>">前一页</a>&nbsp;
<a href="liuyan.asp?pages=<%=epage+1%>">后一页</a>&nbsp;
<a href="liuyan.asp?pages=<%=rs.pagecount%>">末页</a>
</p>
<p align="center">现在是第<%=epage%>页一共有<%=rs.pagecount%>页</p>
</div>

大体上就是这样,希望对你有用

男人无所畏惧,应越战越勇
2011-04-08 10:48
xuehao
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-1-18
得分:0 
twtrwr  你好:
我看到你跟帖,好高兴呢,我再好好的看看,感谢你,和楼上的朋友给我的支持。
2011-04-09 09:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-335743-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090481 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved