Hallo zusammen!
Bisher hatte ich kaum mal echte Probleme bei der Verwendung der ZEOS-Komponenten. Doch nun stehe ich vor einem kleinen Rätsel. Ich möchte aus einer ganz einfachen Tabelle sämtliche Datensätze holen. Das mache ich so:
Delphi-Quellcode:
lcon:=TZConnection.Create(nil);
lcon.Protocol:='...';
lcon.HostName:='...';
lcon.Port:=5432;
lcon.User:='...';
lcon.Database:='...';
lcon.Password:='...';
lcon.Properties.Values['codepage']:='UTF8';
lcon.Properties.Values['client_encoding']:='UTF8';
lcon.Connect;
lroq:=TZQuery.Create(nil);
lroq.Options:=[doOemTranslate,doCalcDefaults];
lroq.Connection:=con;
lroq.SQL.Clear;
lroq.SQL.Add('SELECT * FROM basket;');
lroq.ExecSQL;
lroq.Open;
Direkt danach frage ich ab, wieviele Ergebnis-Datensätze ich bekommen habe:
c:=lroq.RecordCount;
Ich habe ganz exakt eine Zeile in der Datenbank, allerdings ist c gleich 2. Wenn ich die Ergebnisse in der nun folgenden Schleife abfrage, dann bekomme ich auch zwei Mal den Inhalt der einen, tatsächlich existierenden Zeile aus der
DB. Und ja, ich rufe lroq.Next auf.
Kann mich jemand mit der Nase in meinen Fehler reindrücken, den ich noch nicht sehe? Oder ist das vielleicht ein bekanntes Problem der ZEOS Library?
Besten Dank