(随便想想,不一定有用哦) 在服务器建立两个临时表A和B, 将查询结果保存在其中的一个表A上 每次返回这个表A上的“一页”记录, 并把这些记录存储在另一个表B里。 向下翻页的时候再次读取这个表A里的“一页”记录, 并且把这些记录存储到另一个表B里。 向上翻页相反每次读取表B的后一页记录, 并把它存储在表A里。下面给出一些相应操作的例子, 建表(呵呵CREATE就好了)第一次查询初始化 DELETE FROM [TableA] DELETE FROM [TableB] INSERT INTO [TableA] SELECT * FROM [Table] WHERE [Field]='Value' ORDER BY [FieldID](读表的一页) (得到表)SELECT TOP 50 * FROM [TableA] ORDER BY [FieldID] (将表A读出的记录到表B)INSERT INTO [TableB] SELECT TOP 50 * FROM [TableA] ORDER BY [FieldID] (删除表A相应项)DELETE FROM [TableA] WHERE [FieldID] IN (SELECT TOP 50 * FROM [TableA] ORDER BY [FieldID])(向上翻页和项下一样,只不过ORDER BY_DESC)或者就是你自己用一个变量做指针, 每次都读取从指针开始的n条记录, 不过返回记录集的SQL会难写一点~
在服务器建立两个临时表A和B,
将查询结果保存在其中的一个表A上
每次返回这个表A上的“一页”记录,
并把这些记录存储在另一个表B里。
向下翻页的时候再次读取这个表A里的“一页”记录,
并且把这些记录存储到另一个表B里。
向上翻页相反每次读取表B的后一页记录,
并把它存储在表A里。下面给出一些相应操作的例子,
建表(呵呵CREATE就好了)第一次查询初始化
DELETE FROM [TableA]
DELETE FROM [TableB]
INSERT INTO [TableA] SELECT * FROM [Table] WHERE [Field]='Value' ORDER BY [FieldID](读表的一页)
(得到表)SELECT TOP 50 * FROM [TableA] ORDER BY [FieldID]
(将表A读出的记录到表B)INSERT INTO [TableB] SELECT TOP 50 * FROM [TableA] ORDER BY [FieldID]
(删除表A相应项)DELETE FROM [TableA] WHERE [FieldID] IN (SELECT TOP 50 * FROM [TableA] ORDER BY [FieldID])(向上翻页和项下一样,只不过ORDER BY_DESC)或者就是你自己用一个变量做指针,
每次都读取从指针开始的n条记录,
不过返回记录集的SQL会难写一点~