Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ZQuery liefert nichts zurück (https://www.delphipraxis.net/175916-zquery-liefert-nichts-zurueck.html)

SyntaxXx 29. Jul 2013 11:57

Datenbank: MySQL • Version: 5.5.27 • Zugriff über: zeosLib

ZQuery liefert nichts zurück
 
Ich bin gerade dabei, eine Anfrage in MySQL zu erstellen und mir das Ergebnis anzuzeigen.
Dazu erst einmal mein vorhandener Code:

Delphi-Quellcode:
        ZQuery1.SQL.Text := 'SELECT * FROM wcf1_user';
        ZQuery1.Open;
        ZQuery1.First;
        showmessage(ZQuery1.FieldByName('email').AsString);
Doch egal was ich mache, ich bekomme immer nur eine leere MessageBox ausgegeben.
Auch wenn ich statt showmessage folgendes benutze, bekomme ich nichts angezeigt:

Delphi-Quellcode:
      while not ZQuery1.Eof do
      begin
        Memo1.Lines.Add(ZQuery1.FieldByName('username').AsString);
        ZQuery1.Next;
      end;

Wenn ich mir jedoch
Delphi-Quellcode:
showmessage(ZQuery1.FieldList.Text);
anzeigen lasse, bekomme ich alle Namen der Columns der Tabelle richtig angezeigt.

DeddyH 29. Jul 2013 12:03

AW: ZQuery liefert nichts zurück
 
Das sind ja auch unterschiedliche Dinge. Eine leere Tabelle enthält zwar (hoffentlich) Felder, aber keine Daten.

SyntaxXx 29. Jul 2013 12:11

AW: ZQuery liefert nichts zurück
 
Ja das ist mir klar ^^
Damit wollte ich auch nur verdeutlichen, das die Verbindung zwischen Datenbank und meinem Programm besteht.
Es handelt sich hier um eine Lokale Datenbank, die ich mit Xampp erstellt habe.

Und daher weiß nich auch, dass es Daten in dieser Tabelle gibt.
Um genau zu sein 5 Datensätze.
Die Frage ist ja jetzt, wieso mir diese dann nicht angezeigt werden.

mkinzler 29. Jul 2013 12:13

AW: ZQuery liefert nichts zurück
 
Gleicher Benutzer?
Zugriff für den PC freigeschalten?

DeddyH 29. Jul 2013 12:14

AW: ZQuery liefert nichts zurück
 
Du hast die Datensätze aber nicht zufällig in einer noch nicht abgeschlossenen Transaktion angelegt?

blawen 29. Jul 2013 12:32

AW: ZQuery liefert nichts zurück
 
Mal ins Blaue geraten:

Müsstest Du nicht
Delphi-Quellcode:
ZQuery1.Active := True;
statt
Delphi-Quellcode:
ZQuery1.Open
verwenden?

Ich nehme mal an, dass Open keine Ergebnismenge zurückliefert (wie ExecSQL)

SyntaxXx 29. Jul 2013 12:34

AW: ZQuery liefert nichts zurück
 
Die Daten habe ich über PhpMyAdmin angelegt.
Und das ist der erste Aufruf, den nich beim Programmstart mache.

Die nötigen Rechte sind vorhanden.

Ich habe auch schon ZQuery1.Active := True; verwendet.

RWarnecke 29. Jul 2013 13:50

AW: ZQuery liefert nichts zurück
 
Zitat:

Zitat von blawen (Beitrag 1222940)
Mal ins Blaue geraten:

Müsstest Du nicht
Delphi-Quellcode:
ZQuery1.Active := True;
statt
Delphi-Quellcode:
ZQuery1.Open
verwenden?

Ich nehme mal an, dass Open keine Ergebnismenge zurückliefert (wie ExecSQL)

Delphi-Quellcode:
ZQuery1.Open
benutze ich immer dann, wenn ich eine Abfrage (SELECT) machen will.
Delphi-Quellcode:
ZQuery1.ExecSQL
immer dann wenn ich DELETE, UPDATE, INSERT, TRUNCATE oder DROP verwende.

Zitat:

Zitat von SyntaxXx (Beitrag 1222941)
Und das ist der erste Aufruf, den nich beim Programmstart mache.
Die nötigen Rechte sind vorhanden.

Welche Komponenten hast Du auf der Form. Du benötigst TZConnection, TZQuery. Unter Connection die TZConnection. Ist das eingestellt, dann sollte folgender Code funktionieren :
Delphi-Quellcode:
ZQuery1.SQL.Text := 'SELECT * FROM wcf1_user';
ZQuery1.Open;
while not ZQuery1.Eof do
begin
  Memo1.Lines.Add(ZQuery1.FieldByName('username').AsString);
  ZQuery1.Next;
end;
ZQuery1.Close;

EgonHugeist 29. Jul 2013 17:00

AW: ZQuery liefert nichts zurück
 
Hallo SyntaxXx,

7.0.4-stable ist nicht 100% fertig für XE4. Bitte lade 7.1 vom SVN herunter.

oder:

ZAbstractRODataSet.Pas

Delphi-Quellcode:
{$IFDEF WITH_TRECORDBUFFER}
function TZAbstractRODataset.GetRecord(Buffer: TRecordBuffer; GetMode: TGetMode;
  DoCheck: Boolean): TGetResult;
{$ELSE}
function TZAbstractRODataset.GetRecord(Buffer: PChar; GetMode: TGetMode;
  DoCheck: Boolean): TGetResult;
{$ENDIF}
var
  RowNo: Integer;
begin
  // mad stub for unidirectional (problem in TDataSet.MoveBuffer) - dont know about FPC
  // we always use same TDataSet-level buffer, because we can see only one row
  {$IFNDEF WITH_FUNIDIRECTIONAL}
  if IsUniDirectional then
    Buffer := Pointer(Buffers[0]); <<< das sollte so aussehen, dann sind die Daten da.
  {$ENDIF}

SyntaxXx 3. Aug 2013 09:09

AW: ZQuery liefert nichts zurück
 
Also ich habe mir jetzt die Version 7.1 vom SVN geladen, doch da bekomme ich beim Compilieren mehr Fehler als bei der 7.0.4.
Da war es zumindest nur einer ^^

Hmmm, dann muss ich jetzt mal schauen, was ich jetzt mache.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz