《ADO/MTS/COM+高级程序设计》自己看吧 在A D O 的R e c o r d s e t 对象中有一个非常受欢迎的功能就是页次定位,即 R e c o r d s e t 对象可以把数据表中所有的数据以页次的方式切割,只要程序员指定特 定的页次号码就可以存取到这个页次中包含的数据。例如,假设在E m p l o y e e 数据 表中包含了1 0 0 0 笔数据,当页次的大小是1 0 笔数据时,那么整个数据表就切割为 1 0 0 个不同的页次。因此程序员如果指定页次号码为2 ,就可以存取到第11 ~ 2 0 笔的 数据。当然,在R e c o r d s e t 对象中程序员可以设定页次的大小以及随意设定目前要 存取的页次。 要使用R e c o r d s e t 对象的页面定位功能,程序员可以通过数个R e c o r d s e t 对象的 属性来完成。这些属性以及它们的意义整理在下面的表格中。属性名称 意义 A b s o l u t e P a g e 改变当前P a g e 的位置,设定这个属性可以存取特定P a g e 中的数据。这是一个可擦写的属性P a g e C o u n t 数据表中所有的数据除以P a g e S i z e 之后所得到的P a g e 页数。这是一个只读属性P a g e S i z e 指明每一个P a g e 中包含的数据笔数。这是一个可擦写的属性因此要使用A D O 页面定位功能,程序员只需要使用下面的步骤即可: □取得A D O 的R e c o r d s e t 对象。 □设定R e c o r d s e t 对象的P a g e S i z e 属性值,以决定一个页面包含多少笔数。 □存取R e c o r d s e t 对象的P a g e C o u n t 以便了解数据表被切割成多少的页面。 □设定R e c o r d s e t 对象的A b s o l u t e P a g e 属性值以决定要存取的页面数据。
count;
begin
count :=0;
while not adoquery1.eof do
begin
with adoquery1 do
begin
......
end;
inc(count);
if count=20 then break;
end;
end;
所述方法如何实现某一页的显示?(注:不能改变adoquery的sql语句)
这样还是改变了adoquery的sql语句(或者说查询结果),将影响其他相关操作,有没有可能通过改变dbgrid或adoquery的其他属性来达到相应的分页显示?
在A D O 的R e c o r d s e t 对象中有一个非常受欢迎的功能就是页次定位,即
R e c o r d s e t 对象可以把数据表中所有的数据以页次的方式切割,只要程序员指定特
定的页次号码就可以存取到这个页次中包含的数据。例如,假设在E m p l o y e e 数据
表中包含了1 0 0 0 笔数据,当页次的大小是1 0 笔数据时,那么整个数据表就切割为
1 0 0 个不同的页次。因此程序员如果指定页次号码为2 ,就可以存取到第11 ~ 2 0 笔的
数据。当然,在R e c o r d s e t 对象中程序员可以设定页次的大小以及随意设定目前要
存取的页次。
要使用R e c o r d s e t 对象的页面定位功能,程序员可以通过数个R e c o r d s e t 对象的
属性来完成。这些属性以及它们的意义整理在下面的表格中。属性名称 意义
A b s o l u t e P a g e 改变当前P a g e 的位置,设定这个属性可以存取特定P a g e 中的数据。这是一个可擦写的属性P a g e C o u n t 数据表中所有的数据除以P a g e S i z e 之后所得到的P a g e 页数。这是一个只读属性P a g e S i z e 指明每一个P a g e 中包含的数据笔数。这是一个可擦写的属性因此要使用A D O 页面定位功能,程序员只需要使用下面的步骤即可:
□取得A D O 的R e c o r d s e t 对象。
□设定R e c o r d s e t 对象的P a g e S i z e 属性值,以决定一个页面包含多少笔数。
□存取R e c o r d s e t 对象的P a g e C o u n t 以便了解数据表被切割成多少的页面。
□设定R e c o r d s e t 对象的A b s o l u t e P a g e 属性值以决定要存取的页面数据。