Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi "Merkmal nicht verfügbar" bei TQuery Abfrage einer TTable (https://www.delphipraxis.net/19016-merkmal-nicht-verfuegbar-bei-tquery-abfrage-einer-ttable.html)

glunzl 27. Mär 2004 17:20


"Merkmal nicht verfügbar" bei TQuery Abfrage einer
 
Hallo Leutz!

Bei einer Query auf eine TTable Komponennte bekomme ich bei einer Spalte die Meldung EDBEngineError: "Merkmal nicht verfügbar"
Leider weiss ich nichts mit der Meldung anzufangen. Gleiche Abfragen mit anderen Spalten funktionieren.
Was für ein Merkmal könnte gemeint sein? Name der Spalte stimmt.

Gruss
Michael

MrSpock 27. Mär 2004 18:14

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
Hallo glunl,

zeig doch einmal das Statement, das die Fehlermeldung erzeugt. Enthält das Feld einen Umlaut oder ein Sonderzeichen?

glunzl 27. Mär 2004 18:20

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
MrSpock, wieder an Board :-)

Welches Statement denn? Ich kann da nicht so ganz folgen...
Umlaute, oder sonderzeichen sind nicht im Spiel, wird alles gross geschrieben. Bei der Table handelt es sich um eine dBase Datei.

Michael

MrSpock 27. Mär 2004 18:29

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
Hallo glunzl,

du hast doch von einer Query gesprochen. Diese kapselt ja ein SQL Statement und dieses habe ich gemeint. Die Meldung kommt von der BDE, wenn das SQL Statement nicht richtig interpretiert werden kann.

glunzl 27. Mär 2004 19:12

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
Ich mache es wie folgt:

Delphi-Quellcode:
Query_Analyse.SQL.Clear ;
Query_Analyse.SQL.Add('SELECT') ;
Query_Analyse.SQL.Add('USER') ;
Query_Analyse.SQL.Add(',') ;
Query_Analyse.SQL.Add('TEXT') ;
Query_Analyse.SQL.Add('FROM VA_TEMP.dbf') ; // dBase Tabelle
Query_Analyse.SQL.Add('WHERE TEXT LIKE') ;
Query_Analyse.SQL.Add('''FT06:%''') ; // Suche nach String

Query_Analyse.Prepare ;
Query_Analyse.Open ;
Wenn ich die Abfrage ohne User (und Komma) mache, oder statt User eine andere Spalte nehme funzt alles einwandfrei.

Michael

MrSpock 27. Mär 2004 19:21

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
Hallo glunzl,

setze den Tabellennamen einmal in doppelte Anführungszeichen oder lass die Endung .DBF einfach weg. Wenn die Eigenschaft DataBaseName der Query auf das korrekte Verzeichnis zeigt, wird die Tabelle auch so gefunden. Ich bin mir jetzt nicht sicher, ob USER oder TEXT eventuell reservierte Worte sind.

glunzl 27. Mär 2004 20:42

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
Das mit den Anführungszeichen hat leider nicht gebracht.
Kann ich die Spalte vor der Abfrage einfach umbenennen?

Delphi-Quellcode:
Table.FieldDefs. ... ?
Michael

MrSpock 27. Mär 2004 21:08

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
Hallo glunzl,

nein, das geht nicht. Du müsstest schon die Spalten in der Tabelle umbenennen (z.B. über die Datenbankoberfläche).

[edit]Ich habe es gerade ausprobiert. Es liegt am "USER". Das ist ein reserviertes Wort und das Feld musst du umbenennen.[/edit]

glunzl 27. Mär 2004 21:33

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
Danke fürs raussuchen! Wo findet man denn soetwas? Gibts noch mehr von den Reservierten Wörtern?

Zur Laufzeit kann ich die Spalte nicht umbenennen?

Michael

MrSpock 27. Mär 2004 21:46

Re: "Merkmal nicht verfügbar" bei TQuery Abfrage e
 
Hallo glunzl,

du findest die reservierten Wörter in C:\Programme\Gemeinsame Dateien\Borland Shared\BDE\LOCALSQL.HLP.

Das Umbenennen funktioniert nicht, weil die BDE direkt auf die Festplatte zugreift. Der Feldname muss also in der zugrundeliegenden Tabelle geändert werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:39 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