Hallo Leute
ich versuche mich gerade daran, mit den Interbase-Kompos auf eine Firebird Datenbank zuzugreifen. Ich habe schon viel mit
MySQL auch unter Delphi gearbeitet.
Ich habe jetzt diesen Code hier konstruiert:
Delphi-Quellcode:
procedure execquery(str:string;passv:boolean);
begin;
form1.qrmain.Close;
form1.qrmain.SQL.Clear;
form1.qrmain.SQL.Add(str);
if (passv) then form1.qrmain.Open
else form1.qrmain.ExecSQL;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
execquery('SELECT * FROM sachbuch sb, gliederung gl WHERE (sb.sbid = gl.sbid)',true);
for i:= 0 to qrmain.RecordCount-1 do begin;
qrmain.RecNo := i;
showmessage(qrmain.fieldbyname('SBNR').asstring+'->'+qrmain.fieldbyname('GLNR').asstring);
end;
end;
Auf meinem Formular sitzt:
qrmain : TIBQuery
dbmain : TIBDatabase
trmain : TIBTransaction
Wenn ich jetzt auf den Button klicke kommt nur der erste Datensatz heraus. "qrmain.recordcount" enthält ja auch nur 1. Obwohl, wenn ich im "
IB Expert" (Admin-Tool) das
Query ausführe ich 3 Zeilen als Result bekomme. Es muß also an meinem Code liegen, aber wo?
Danke und Grüße
TO