Ist nicht die eleganteste Lösung, benötigt aber weder TTable, TDataSet - nur eine einfache
Query.
Delphi-Quellcode:
Var
i : Integer;
Begin
With Query Do
Begin
SQL.Text := Format(
'
SELECT t.*' + #10 +
'
FROM %s t' + #10 +
'
WHERE RowNum <= 1'
, [Edit1.Text]);
Execute;
ListBox1.Clear;
For i := 0
To pred(FieldCount)
Do
ListBox1.Items.Add(Fieldname(i));
End;
End;
Wenn du Oracle benutzt kannst du auch diese Lösung benutzten (
ADO Query):
Delphi-Quellcode:
With Query Do
Begin
SQL.Text :=
'
SELECT t.Column_Name' + #10 +
'
FROM All_Tab_Columns t' + #10 +
'
WHERE t.Owner = :i_Owner And' + #10 +
'
t.Table_Name = :i_Table';
Prepared := True;
Parameters.ParamByName('
i_Owner').Value := '
SCOTT';
Parameters.ParamByName('
i_Table').Value := '
EMP';
Execute;
ListBox1.Clear;
While Not Eof
Do
Begin
ListBox1.Items.Add(adoquery1.FieldValues[0]);
End;
End;