Einzelnen Beitrag anzeigen

Benutzerbild von TheJeed
TheJeed

Registriert seit: 11. Jun 2009
Ort: Leipzig
57 Beiträge
 
#1

ZEOS-Query gibt falschen Recordcount zurück

  Alt 19. Jan 2010, 11:44
Datenbank: PostgreSQL • Version: 8.3 • Zugriff über: ZEOS
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
Teitmaschine Go!
  Mit Zitat antworten Zitat