ado 存取ACCESS的速度(50分)

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

lijucheng

Unregistered / Unconfirmed
GUEST, unregistred user!
请问高手:我用D5的ADO来存取ACCESS数据库编写抽奖程序,发现速度很慢,而用PARADOX就可以为什么
 
如何定义数量可变的编辑框数组
 
PARADOX是BDE的,BDE比ODBC和ADO都快。(这是我听人说的)
 
蝙蝠:
我给你加了50分请帮我在解答一个问题:如何定义数量可变的编辑框数组或LABEL数组,如:
ARRAY[0,,I] OF TEDIT.
 
你是指在运行中创建控件?这我原来试过,但现在忘了1年,让我回去翻一下。
多翻书有好处。[:)]
 
var
i:integer;
myedit: array of tedit;
begin
adoquery.close;
adoquery.slq.text:='select * from 表名 ';
adoquery.open;
try
setlength(myedit,adoquery.fileds.count);
for i:=low(myedit) to high(myedit) do
begin
myedit:=tedit.create(self);
myedit.parent:=self;
myedit. SetBounds(x,x,x,x);
end;
finally
myedit.free;
end;
end;
我随便写的,不知道有没有错,大概是这个样子

 
怎么有adoquery,我记得没有这么复杂吧?
 
应该不慢吧
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls{必须加上};

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
Myedit:array of tedit;//动态数组
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
setlength(myedit,3); //动态设定myedit的元素个数
for i:=low(myedit) to high(myedit) do
begin
myedit:=tedit.create(self);
myedit.parent:=form1;
myedit.SetBounds(ALeft, ATop, AWidth, AHeight)//设定位置
end;
end;
end.
/*实际上,我是很菜的。还没有用过ado,有机会向你请教一下ADO和ACCESS
caffen前面那几句我不懂,不知谁能解释一下*/
 
顶部