![]() |
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:
Fehlermeldung ist:
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 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 |
Re: Firebird/ZEOS EDatabaseError Field not found
Bist du dir sicher das das Feld in der Tabelle contest_snuffer genauso heißt ?
|
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. |
Re: Firebird/ZEOS EDatabaseError Field not found
Un wenn du mit .FieldByName() direkt auf das DS zugreifst?
|
Re: Firebird/ZEOS EDatabaseError Field not found
Delphi-Quellcode:
Dann kommt die gleiche Meldung.
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); Schon komisch, mit IBExpert klappt die Abfrage, und ich kann das Feld Teilnehmen auch über AddField der Query hinzufügen. |
Re: Firebird/ZEOS EDatabaseError Field not found
teilnehmen != teilnehmer
|
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. |
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. |
Re: Firebird/ZEOS EDatabaseError Field not found
Ich habs jetzt mal mit SELECT * probiert,
mit dem gleichen Ergebnis, das es nicht funzt. |
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 10:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz