Wie kann ich die Beschreibung der Tabelle (Felder und Datentypen) von Firebird mit dbExpress

Habe ich ein tool geschrieben für die Anzeige von Datenbank-Strukturen mit dem GetTableNames und GetFieldNames Methoden der TSQLConnection. Wie bekomme ich den Typen der einzelnen Felder Namen wie die folgende Liste (die ist Teil der DDL erforderlich, um das erstellen der Tabelle)?

TABLE: ARTICLES
ID INTEGER NOT NULL
PRINTED SMALLINT DEFAULT 0
ACADEMIC SMALLINT
RELEVANCE SMALLINT
SOURCE VARCHAR(64) CHARACTER SET WIN1251 COLLATE WIN1251
NAME VARCHAR(128) CHARACTER SET WIN1251 COLLATE WIN1251
FILENAME VARCHAR(128) CHARACTER SET WIN1251 COLLATE WIN1251
NOTES VARCHAR(2048) CHARACTER SET WIN1251 COLLATE WIN1251
Versuchen Sie, Detailed table field info oder schauen Sie unter this FAQ.
Die detaillierte Tabelle Feld info gab mir die nötigen Hinweise - sicherlich viel besser, Durchlaufen Sie das system-Tabellen als öffnen Sie eine Abfrage mit einem Datensatz und bestimmen Sie die Feldtypen aus der Abfrage. Wie kann ich Sie belohnen? Vielleicht drehen Sie Ihren Kommentar in eine Antwort mit einem code Beispiel.
Danke! Würde ich per post die Antwort, aber ich konnte nicht überprüfen, das Ergebnis (ich habe nur gehofft, die Abfrage aus dem Artikel funktioniert :-), das ist, warum ich habe es einen Kommentar. Fühlen Sie sich frei zu veröffentlichen und zu akzeptieren, Ihre eigene Antwort. Es wird hilfreich sein, um Sie hier zu halten, da wir nicht wissen, wie lange die Seiten, die ich geworben haben, am Leben sein wird.
DBX wird über die Kompatibilität zu verschiedenen Motoren... TBXTable hat die Eigenschaft ValueType[const Ordnungszahl: TInt32]: TDBXValueType Lesen GetValueType; Konvertieren von reault auf DB-spezifische Skript könnte eine gesonderte Aufgabe. Für die grundlegende FB-Typen wahrscheinlich TIBExtract Komponente funktionieren würde.
wenn Sie möchten, machen Sie es unbedingt mit "SELECT * FROM rdb$ ..." , die folgende Lösung ist nicht für Sie. Aber wenn Sie möchten, eine einfache und schnelle Methode, die Sie verwenden können isql.exe mit "CreateProcess(nil, Pchar('isql.exe' +' '+ Params)" und Params auf eine Datei z.B. myTableFieldinfo.sql. Alle Informationen, die Sie brauchen, ist verfügbar in der Datei myTableFieldinfo.sql

InformationsquelleAutor No'am Newman | 2012-08-22

Schreibe einen Kommentar