Einzelnen Beitrag anzeigen

hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#1

ADS: Probleme beim Auslesen der system.indexes

  Alt 14. Dez 2006, 08:31
Datenbank: ADS • Version: 8.1 • Zugriff über: TADSQuery
Hallo,

ich schreibe mir gerade ein Tool um meine Datenbanken (Advantage Database Server Version 8.1) zu dokumentieren.
Dazu verbinde ich mich mit dem entsprechenden Dictionary und befrage die systems-Tabellen. Das funktioniert soweit auch recht gut.
Nur beim Auslesen der Indizes habe ich auf einmal Schwierigkeiten. Den Namen des Index bekomme ich noch, den eigentlichen Index-Ausdruck nicht mehr, dort liefert mir FieldValues['Index_Expression'] nur noch NULL-Varianten zurück.
Gebe ich die entsprechende Abfrage im ARC32 ein, bekomme ich alle Felder ausgelesen.

Irgendwer eine Idee? Hier nun der Code:

Delphi-Quellcode:
dqInd.Active := False;
dqInd.SQL.Text := 'select * from system.indexes where parent = ' + QuotedStr(dqTab.FieldValues['Name']);
dqInd.Active := True;
dqInd.First();
while not dqInd.Eof do begin
  oFeld := oChild.AddChild('Indizes');
  oFeld.AttributeNodes['Name'].Text := dqInd.FieldValues['Name']; // <- funktioniert noch
  oFeld.AttributeNodes['Expr'].Text := dqInd.FieldValues['Index_Expression']; // <- ab hier bekomme ich nur noch NULL zurück!
  oFeld.AttributeNodes['Cond'].Text := dqInd.FieldValues['Index_Condition'];
  dqInd.Next();
end;
Gruß Jörg
  Mit Zitat antworten Zitat