我要实现这样的功能,比如当前有100条记录,我要读取第97-90条, 我的思路是从ID总数减3开始读,读7条记录出来,但是代码就老是写不出来,高手拉我的把。。。 代码如下。 sql="select top 7 * from Article where ArticleID<[这里就不知道怎么用了] order by UpdateTime desc"
sql="select top 7 * from Article where ( ArticleID>=90 and ArticleID<=97) order by UpdateTime desc" ??
要不楼主可以分两次运算呀 strsql1="select top 100 * from 表 oder by id desc" objRs.open strsql1,conn,1,1 然后再 objRs.Move 3 这样应该可以吧。。
SELECT A.* FROM Article AS A WHERE ID<=(SELECT MAX(S.ID) AS TID FROM Article AS S)-3 AND ID>=(SELECT MAX(S.ID) AS TID FROM Article AS S)-10;
SQL ="SELECT A.* FROM Article AS A WHERE ID<=(SELECT MAX(S.ID) AS TID FROM Article AS S)-3 AND ID>=(SELECT MAX(S.ID) AS TID FROM Article AS S)-10"
可以这样来实现,例如需要读取第M条到第N条记录(M<N) 例如M=51,N=60 要读取中间的10条数据 不能使用ID来定义,因为有可能有某些记录是被删除了的,ID不能保证读取的正确性 首先SELECT TOP 60 然后定义一个FOR I=1 TO 50 RS一直在MOVENEXT但是不读取数据 到了51条的时候,也就是说FOR循环结束后,才显示RS("字段名") 这样的算法效率不很好,但也是没办法了