Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi spaltennamen in memo ausgeben (https://www.delphipraxis.net/16091-spaltennamen-memo-ausgeben.html)

yoshie 10. Feb 2004 10:12


spaltennamen in memo ausgeben
 
HI,

ich wollte fragen, ob mir jemand weiterhelfen kann und zwar geht es darum das ich eine tabelle habe. und von dieser tabelle will ich nur die spaltennamen in einer memo ausgeben.
Ich weiß nur absolut nicht wie das geht. vielleicht kann mir ja jemand helfen. Wäre cool


greetz yosh

barnti 10. Feb 2004 10:51

Re: spaltennamen in memo ausgeben
 
Hi,

Grid?:

Delphi-Quellcode:
for i:=0 to Grid.Fieldcount-1 do
   memo.lines.add(Grid.Fields[i])
Felder in Memo eintragen. Willst Du die Spaltenüberschriften, so brauchst Du Grid.columns[i].Title.caption

So oder so ähnlich...

Gruß,

barnti

yoshie 10. Feb 2004 11:13

Re: spaltennamen in memo ausgeben
 
danke erstmals,

aber ich muss mich entschuldigen, ich meinte eine tabelle in einer mysql datenbank. diese will ich über die zeos komponenten in delphi auisgeben lassen, aber halt nur die spalten überschirften.

vielleicht weist du das ja auch noch.

barnti 10. Feb 2004 11:39

Re: spaltennamen in memo ausgeben
 
Hi yoshie,

Du musst einfach die folgende Abfrage an die DB senden:

SQL-Code:
DeineSQLKomponente.SQL.ADD('Describe '+ TabellenName);
Dann kannst Du das Ergebnis-Dataset abfragen:

Delphi-Quellcode:
While not DeineSQLKomponente.eof do
begin
  DeinMemo.Lines.Add(DeineSQLKomponente.FieldByName('Field').AsString);
  DeineSQLKomponente.Next;
end;
So sollte es gehen. Bei den Spezifika Deiner Komponenten musst Du entsprechend substituieren...

Alles Klar? Hoffe das hilft Dir weiter.

Gruß,

Barnti

Robert_G 10. Feb 2004 11:40

Re: spaltennamen in memo ausgeben
 
Vielleicht so:
Delphi-Quellcode:
  Var
    i                                    : Integer;
  Begin
    With Query Do
    Begin
      SQL.Text := Format(
        'SELECT t.*' + #10 +
        'FROM  %s t'
        , [Edit1.Text]);
      Execute;

      Memo1.Lines.Clear;
      For i := 0 To pred(FieldCount) Do
        Memo1.Lines.Add(Fieldname(i));
    End;
  End;
Ist aber ziemlich Quick'n Dirty. :oops:
Gibt es in mySQL Systemtabellen (à la Oracles all_tab_columns), in denen die Spalten von Tabellen aufgelistet sind?
Wenn ja, kannst du dort nicht nur deine Spaltennamen, sondern bestimmt auch noch zusätzl. Infos herbekommen (Keys,...)

Nachtrag: Funktioniert "Describe" in MySQL? :shock:

yoshie 10. Feb 2004 19:37

Re: spaltennamen in memo ausgeben
 
vielen dank hat mir sehr weitergeholfen

thx

barnti 10. Feb 2004 19:58

Re: spaltennamen in memo ausgeben
 
Hi,

ich denke mit

Delphi-Quellcode:
describe 'Tabellenname'
ist das schon eine gute Lösung. Warum nicht das 'DD' benutzen wenn vorhanden...

Gruß,

Barnti

yoshie 11. Feb 2004 15:18

Re: spaltennamen in memo ausgeben
 
ich hatte es heute ausprobiert und es hat geklappt wo ich nur kurz probleme hatte, war, dass du nicht reingeschrieben hasst. query.open und ich in trotligkeit das nicht bemerkt hatte und ich nicht auf den fehler gekommen bin, aber später hats dan gefuntzt, also nochmals vielen dank.



greetz


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz