AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird/ZEOS EDatabaseError Field not found
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird/ZEOS EDatabaseError Field not found

Ein Thema von TankWart · begonnen am 19. Jan 2007 · letzter Beitrag vom 19. Jan 2007
Antwort Antwort
TankWart

Registriert seit: 25. Feb 2005
46 Beiträge
 
#1

Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 11:01
Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS 6.1.5
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 11:04
Bist du dir sicher das das Feld in der Tabelle contest_snuffer genauso heißt ?
Markus Kinzler
  Mit Zitat antworten Zitat
TankWart

Registriert seit: 25. Feb 2005
46 Beiträge
 
#3

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 11:31
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 12:07
Un wenn du mit .FieldByName() direkt auf das DS zugreifst?
Markus Kinzler
  Mit Zitat antworten Zitat
TankWart

Registriert seit: 25. Feb 2005
46 Beiträge
 
#5

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 14:51
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 14:56
teilnehmen != teilnehmer
Markus Kinzler
  Mit Zitat antworten Zitat
TankWart

Registriert seit: 25. Feb 2005
46 Beiträge
 
#7

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 15:30
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 15:34
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.
Markus Kinzler
  Mit Zitat antworten Zitat
TankWart

Registriert seit: 25. Feb 2005
46 Beiträge
 
#9

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 15:46
Ich habs jetzt mal mit SELECT * probiert,
mit dem gleichen Ergebnis, das es nicht funzt.
  Mit Zitat antworten Zitat
TankWart

Registriert seit: 25. Feb 2005
46 Beiträge
 
#10

Re: Firebird/ZEOS EDatabaseError Field not found

  Alt 19. Jan 2007, 16:01
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 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