Hallo,
ich versuche grade die Feldnamen aus einer Tabelle, die ich mit einer
List Box ausgewählt habe, zu extrahieren.
Mit
ADO GetFieldNames(); geht das auch recht gut, wobei ich
vorher mit select * from ' +tbl+' where 1=0 mir einen 'leeren'
Datensatz ins DataSet schreibe. Wie gesagt, das funktiniert prinzipiell,
es gibt aber
DB Konstellationen bei der es nicht geht.
Der Tabellenname heisst z.B. XYZ. Das Select statement muss aber bei
dieser IDM DB2 (ich denke es hängt nicht mit der
DB zusammen, sondern mit
den Ideen unseres
DB Administrator)
dann select * from pp.XYZ where 1=0' heissen. Dieser Prefix "pp"
ist mir aber nicht immer bekannt.
Gibt es eine andere Möglichkeit die Feldnamen auszulesen, ohne
dieses Select abzusetzen?
Delphi-Quellcode:
procedure TForm2.ListFieldNames(tbl:string);
begin
ADODataSetGetFieldnames.active:=false;
ADODataSetGetFieldnames.CommandText:='select * from ' +tbl+' where 1=0';
WriteToMem(ADODataSetGetFieldnames.CommandText,Mem_Info);
ADODataSetGetFieldnames.active:=true;
ADODataSetGetFieldnames.GetFieldNames(Lst_Fieldnames.Items);
SetHorizontalScrollBar(lst_Fieldnames);