Ich schließe mich dieser Frage an, da dies hier nur Fehler produzier:
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
liste:TStringList;
sz1 :Integer;
sz2 : Integer;
sz3 : Integer;
begin
liste:=TStringList.Create;
sz1:=0;
sz2:=0;
sz3:=0;
adoquery1.Close;
sz1:=gettickcount;
adoquery1.open;
sz2:=GetTickCount;
Form1.Caption:=IntToStr(liste.Count)+' '+IntToStr(sz2-sz1)+' >>Open '+IntToStr(sz3-sz2)+' >>GetData';
Application.ProcessMessages;
if not(adoquery1.Eof) then
repeat
liste.Add(adoquery1.Fields[0].asstring);
adoquery1.Next;
until adoquery1.eof;
sz3:=GetTickCount;
adoquery1.Close;
Form1.Caption:=IntToStr(liste.Count)+' '+IntToStr(sz2-sz1)+' >>Open '+IntToStr(sz3-sz2)+' >>GetData';
liste.Free;
end;
procedure TForm1.btn2Click(Sender: TObject);
var
liste:TStringList;
sz1 :Integer;
sz2 : Integer;
sz3 : Integer;
begin
liste:=TStringList.Create;
sz1:=0;
sz2:=0;
sz3:=0;
adoquery1.Close;
sz1:=gettickcount;
adoquery1.open;
sz2:=GetTickCount;
Form1.Caption:=IntToStr(liste.Count)+' '+IntToStr(sz2-sz1)+' >>Open '+IntToStr(sz3-sz2)+' >>GetData';
Application.ProcessMessages;
if not(adoquery1.recordset.Eof) then
repeat
liste.Add(adoquery1.Recordset.Fields[0].value);
adoquery1.Recordset.MoveNext;
until adoquery1.eof;
sz3:=GetTickCount;
adoquery1.Close;
Form1.Caption:=IntToStr(liste.Count)+' '+IntToStr(sz2-sz1)+' >>Open '+IntToStr(sz3-sz2)+' >>GetData';
liste.Free;
end;
---------------------------
Project1
---------------------------
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
---------------------------
OK
---------------------------
Gruß
K-H