Entwickler-Ecke
Datenbanken - Komponente, welche die Feldnamen einer Tabelle enthält
tortom1000 - Fr 23.01.09 19:50
Titel: Komponente, welche die Feldnamen einer Tabelle enthält
Hallo,
ich suche so etwas wie eine Combobox, welche die Feldnamen (nicht die Feldinhalte, sondern die Feld-Bezeichnung) einer Tabelle enthält.
Der Zweck ist die Auswahl eines Tabellenfeldes, welche man dann nach Suchbegriffen durchsuchen kann.
Hoffe, es ist verständlich genug...
Gruß
Tortom
MSCH - Sa 24.01.09 13:34
Das ist nicht soooo einfach. dazu musst du erstmal wissen, welche Datenbank du verwendest - je nach dem
kannst du das Repository abfragen.
z.b. in Oracle schaust du dir einfach mal die Tabellen an, die mit all_* anfangen.
SQL-Anweisung
1:
| Select column_name from all_Tab_Columns where owner='ich' and Table_name='Tabelle' order by column_name. |
das Ergebnis kippst du in die Combobox.
:-)Msch
dummzeuch - Sa 24.01.09 21:54
Titel: Re: Komponente, welche die Feldnamen einer Tabelle enthält
tortom1000 hat folgendes geschrieben : |
ich suche so etwas wie eine Combobox, welche die Feldnamen (nicht die Feldinhalte, sondern die Feld-Bezeichnung) einer Tabelle enthält.
|
Die rxlib hatte eine solche Komponente und da sie in die JVCL aufgenommen wurde, sollte es sie dort auch geben. Ich habe allerdings keine Ahnung, wie sie hiess/heisst.
twm
espen - Mo 26.01.09 14:49
Hallo,
solltest Du via ADO auf die Datenbank zugreifen könnte Dir auch:
Delphi-Quelltext
1:
| AdoConnection1.GetFieldNames('Tabellenname', aList) |
helfen.
Gruss,
Espen
zuma - Mo 26.01.09 14:57
ein Query mit
'Select * from Tabelle where 1 = 0'
öffnet dir nen leeren Query, in dem die Struktur der Tabelle steckt.
ein
Delphi-Quelltext
1: 2: 3: 4:
| for i := 0 to Query.Fieldcount-1 do showmessage(query.Fields[i].FieldName); |
zeigt dir alle namen der Felder.
So mach ichs zumindest in Interbase
Nersgatt - Mo 26.01.09 15:37
Bei den meisten Datenbanksystemen kann man das Dictonary per SQL abfragen. Daher sollest Du uns verraten, welche Datenbank zu vewendest.
Für Firebird kann man es z.B. so machen:
SQL-Anweisung
1:
| select rdb$field_name from rdb$relation_fields where rdb$relation_name = :name order by rdb$field_position |
Wobei der Parameter "name" mit dem Tabellennamen zu füllen ist.
tortom1000 - Fr 30.01.09 22:16
Hallo,
sorry, ich war ein paar Tage außer Haus, daher antworte ich erst jetzt.
Ich verwende Firebird.
Ich habe jetzt manuell eine "normale" Combobox mit den Werten einer SQL-Abfrage gefüllt.
War letztlich doch weniger Aufwand, als ich angenommen hatte.
Vielen Dank für eure Hilfe.
Tortom
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!