使用ADO面板的ADOQuery组件,如何分页显示(例如每次显示20条记录,Access数据库)...(100分)

  • 主题发起人 主题发起人 ledo
  • 开始时间 开始时间
L

ledo

Unregistered / Unconfirmed
GUEST, unregistred user!
1. 使用ADO面板的ADOQuery组件,如何分页显示(例如每次显示20条记录),
2. 如何自动给出显示记录的序号,不是Access的自动编号。
 
1、不明白,不知道你要的是什么效果,是只返回若干条记录还是在Grid中只显示若干条记录
2、增加一个计算段:No,
在TADOQuery或TADOTable的OnCalc...事件(就是计算字段事件了)加上
...
ADOQueryNo.Value:=ADOQuery.RecNo;
...就行了。
 
我曾使用了一种较笨的方法,定义了一个bookmark,每次翻页时,将当前记录移到此位置。
 
1. 使用StringGrid自己显示记录。

ADOQuery.Recordset.PageSize:=20;
ADOQuery.Recordset.AbsolutePage:=1; //定位到第一页
  rs:=ADOQuery.Recordset;
for i:=1 to 20 do
begin
StringGrid.Cells[iCol,iRow]:=rs.Fields.Get_Item('fieldname_1').Value;
........
StringGrid.Cells[iCol+n,iRow]:=rs.Fields.Get_Item('fieldname_n').Value;
Inc(iRow);
rs.MoveNext;
end;

2. 照杜宝的方法.
 
李维 的 《实战Delphi 5.x-专业ADO/MTS/COM+程序设计篇》有详细介绍
 
关注,对了什么地方有李维书的电子版,希望告诉我!谢谢
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部