Einzelnen Beitrag anzeigen

raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#1

Probleme bei Feldnamen auslesen mit GetFieldNames()

  Alt 18. Apr 2008, 12:55
Datenbank: SAP DB • Version: 7.4 • Zugriff über: ODBC ADO
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);
  Mit Zitat antworten Zitat