Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Spaltennamen einer Tabelle ermitteln (https://www.delphipraxis.net/130486-spaltennamen-einer-tabelle-ermitteln.html)

HolgerCW 9. Mär 2009 12:20

Datenbank: ORACLE • Version: 10 • Zugriff über: BDE

Spaltennamen einer Tabelle ermitteln
 
Hallo zusammen,

wie kann ich die Spaltennamen einer Tabelle ermitteln und diese als String in eine Combobox schreiben ?

Bekannt ist mir nur der Tabellenname.

Gruss

Holger

spaxxn 9. Mär 2009 12:35

Re: Spaltennamen einer Tabelle ermitteln
 
Hast es mal hiermit probiert?
Diese Property sollte dir den Namen des ersten Feldes zurückgeben.

Delphi-Quellcode:
Dataset.Fields[0].FieldName

Bernhard Geyer 9. Mär 2009 12:38

Re: Spaltennamen einer Tabelle ermitteln
 
Mit einem
SQL-Code:
SELECT * FROM <Tabelle> where 1=2
bekommst du alle Felder zurück mit gemappten Delphi-Datentyp.

Willst du den Feldtyp auf der DB mußt du in die Systemtabellen schauen.


Übrigens: Muss es noch BDE sein? Ist doch schon seit 10 Jahren abgekündigt

HolgerCW 9. Mär 2009 13:25

Re: Spaltennamen einer Tabelle ermitteln
 
Danke schon mal,

und wie kann ich der Query dann die Feldnamen entlocken ?

Ich habe am Anfang eine "leere Query".
Danach fülle ich diese mit dem SQL-String: "SELECT * FROM TABELLE1 WHERE 1=2"
Nun mache ich ein "Query.Open";

Wenn ich nun folgendes mache:

Delphi-Quellcode:
for I := 0 to QueryAW_Variabel.DataSource.DataSet.FieldCount - 1 do
begin

 CB_Spalte1.Items.add(QueryAW_Variabel.DataSource.DataSet.Fields[I].FieldName);

end;
klappt es nicht ? Was muss ich tuen ?

Gruss

Holger

nahpets 9. Mär 2009 13:38

Re: Spaltennamen einer Tabelle ermitteln
 
Hallo,

reicht da nicht
Delphi-Quellcode:
for I := 0 to QueryAW_Variabel.FieldCount - 1 do
begin
  CB_Spalte1.Items.add(QueryAW_Variabel.Fields[I].FieldName);
end;
aus?

Was für eine Query benutzt Du?
TQuery?

Die hat das Attribut FieldList, ein Nachfahre von TStrings. Bei TAdoQuery und TIBQuery müsste das auch gehen.

Da dürfte dann auch so ein Einzeiler
Delphi-Quellcode:
CB_Spalte1.Items.Text := QueryAW_Variabel.FieldList.Text;
im Rahmen des Möglichen sein.

R2009 9. Mär 2009 13:50

Re: Spaltennamen einer Tabelle ermitteln
 
Hallo DP'ler,

Ich bin neu hier aber war vor drei Jahren schon mal hier. Grüsse an Alle.

So funktioniert das:
Delphi-Quellcode:
  for I := 0 to ADOQuery1.FieldCount - 1 do
    begin
      cb1.Items.add(ADOQuery1.Fields[I].FieldName);
    end;
Grüsse an Alle!

spaxxn 9. Mär 2009 13:56

Re: Spaltennamen einer Tabelle ermitteln
 
Red doch gerne mit Wänden :)

HolgerCW 12. Mär 2009 09:04

Re: Spaltennamen einer Tabelle ermitteln
 
Vielen dank an euch.

Das klappt

Gruss

Holger


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