Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#5

AW: Auslesen von Feldname, Feldtypen, deren Größe und default werte einer Tabelle

  Alt 21. Nov 2020, 13:01
Das information schema ist ein ANSI-Standard, der aber nicht von allen Datenbanken unterstützt wird. MySQL unterstützt ihn.

Bei einem
Delphi-Quellcode:
tabellenname := Z_TABELLEN.FieldByName('tables_in_'+MainModule.UniMainModule.ZConnection1.Database).AsString;

Z_FELDER.SQL.Clear;
Z_FELDER.SQL.append('SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = "'+MainModule.UniMainModule.ZConnection1.Database+'" AND TABLE_NAME = "' + tabellenname + '"');
Z_FELDER.Open;
wäre es eigentlich naheliegend, es mal mit einem
Delphi-Quellcode:
tabellenname := Z_TABELLEN.FieldByName('tables_in_'+MainModule.UniMainModule.ZConnection1.Database).AsString;

Z_FELDER.SQL.Clear;
Z_FELDER.SQL.append('SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = "'+MainModule.UniMainModule.ZConnection1.Database+'" AND TABLE_NAME = "' + tabellenname + '"');
Z_FELDER.Open;
zu versuchen und nach Begutachtung des Ergebnisses den * durch die tätsächlich benötigten Spalten zu ersetzen.

Und da TZQuery und TZTable von TDataSet abgeleitet sind, hat man hier natürlich auch mindestens auf alle Spalteninformationen, die TDataSet bietet, Zugriff.
  Mit Zitat antworten Zitat