Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird/ZEOS EDatabaseError Field not found (https://www.delphipraxis.net/84630-firebird-zeos-edatabaseerror-field-not-found.html)

TankWart 19. Jan 2007 10:01

Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS 6.1.5

Firebird/ZEOS EDatabaseError Field not found
 
Hallo zusammen,

kann mir einer auf die Sprünge helfen, damit ich kapiere, warum diese Abfrage mit
IBExpert funktioniert, aber in Delphi mit ZEOS nicht.

Delphi-Quellcode:
SELECT t.tName, t.tTown, t.tCountry,
                      s.SID, s.sFName, s.sLName, s.sNameSuffix,
                      s.Participate, cs.teilnehmen, cs.sid
                      FROM team t
                            INNER JOIN team_snuffer ts ON
                                  t.TID = ts.TID
                                      INNER JOIN snuffer s ON
                                            ts.SID = s.SID
                                              Right OUTER JOIN contest_snuffer cs ON
                                                 cs.sid = s.sid
Fehlermeldung ist:
raised exception class EDatabaseError with message 'ZQParticipant: Field
'TEILNEHMEN' not found.

Die Abfrage ist in einer ZEOS Query im Object Inspector eingetragen,
Felder in der Query hinzufügen über Add All Field hat ja auch geklappt.

Kann mir noch einer sagen, wie ich meine ZEOS Version 6.1.5 mit den Patch's updaten kann??
Ich habe nämlich die Patchs 1 und 2 nicht installiert(compiliert).

Gruß

Tankwart

mkinzler 19. Jan 2007 10:04

Re: Firebird/ZEOS EDatabaseError Field not found
 
Bist du dir sicher das das Feld in der Tabelle contest_snuffer genauso heißt ?

TankWart 19. Jan 2007 10:31

Re: Firebird/ZEOS EDatabaseError Field not found
 
Hallo MKinzler,
ich habe es gerade noch einmal geprüft und es heist so,
ich kann das Statement auch in IBExpert ausführen, es liefert auch die gewünschte Ergebnismenge.

mkinzler 19. Jan 2007 11:07

Re: Firebird/ZEOS EDatabaseError Field not found
 
Un wenn du mit .FieldByName() direkt auf das DS zugreifst?

TankWart 19. Jan 2007 13:51

Re: Firebird/ZEOS EDatabaseError Field not found
 
Delphi-Quellcode:
      SQLstr := 'SELECT t.tName, t.tTown, t.tCountry, s.sSex, ' +
                's.SID, s.sFName, s.sLName, s.sNameSuffix, ' +
                's.Participate, cs.teilnehmen, cs.sid ' +
                'FROM team t ' +
                'INNER JOIN team_snuffer ts ON ' +
                't.TID = ts.TID ' +
                'INNER JOIN snuffer s ON ' +
                'ts.SID = s.SID ' +
                'Right OUTER JOIN contest_snuffer cs ON ' +
                'cs.sid = s.sid ';
      ZQuery1.Close;
      ZQuery1.SQL.Clear;
      ZQuery1.SQL.Text := SQLstr;
      ZQuery1.Open;

      Showmessage(ZQuery1.FieldByName('teilnehmer').AsString);
Dann kommt die gleiche Meldung.

Schon komisch, mit IBExpert klappt die Abfrage, und ich kann das Feld Teilnehmen auch
über AddField der Query hinzufügen.

mkinzler 19. Jan 2007 13:56

Re: Firebird/ZEOS EDatabaseError Field not found
 
teilnehmen != teilnehmer

TankWart 19. Jan 2007 14:30

Re: Firebird/ZEOS EDatabaseError Field not found
 
da hast du naklar recht,
hab ich total übersehen, so klappt das auch.
Aber warum kommt die Meldung dann wenn ich das Statement im
Object Inspector zur Entwurfzeit eintrage.
Er meldet das er alle Felder die in Tabelle contest_snuffer drinn sind nicht findet,
obwohl ich sie über Add Fields alle zuweisen kann.

Wie muss ich dass dann zur Laufzeit machen, damit er mir das Ergebnis der Abfrage,
in meinem DBGrid anzeigt?
Ich habe halt immer das Statement im Object Inspector eingetragen und so mir die Daten anzeigen lassen.

mkinzler 19. Jan 2007 14:34

Re: Firebird/ZEOS EDatabaseError Field not found
 
Wie heißt denn das Feld wirklich?
Wenn du diech im Query vertippt hast, kannst du ja dann das falsche Feld auswählen. Erst beim Ausführen des Queries kommt es dann zum Fehler.

TankWart 19. Jan 2007 14:46

Re: Firebird/ZEOS EDatabaseError Field not found
 
Ich habs jetzt mal mit SELECT * probiert,
mit dem gleichen Ergebnis, das es nicht funzt.

TankWart 19. Jan 2007 15:01

Re: Firebird/ZEOS EDatabaseError Field not found
 
Hallo MKinzler,
ich hab den Fehler gefunden, hatte noch ein altes Statement im Code,
das auf die gleiche Query zugreift und da war das Feld teilnehmen nicht dabei.

Na ja, so was soll eigentlich nicht passieren.

Danke für deine Hilfe


mfg
Tankwart


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:22 Uhr.

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