Hallo,
ich möchte zur Laufzeit miz Delphi5 echte Felder an eine DB-Tabelle anfügen. Meine Frage: Geht das überhaupt, und wenn ja, wie? Ich habe bisher noch keinen Befehl dafür gefunden.
Gruß Ringo
Hallo,
ich möchte zur Laufzeit miz Delphi5 echte Felder an eine DB-Tabelle anfügen. Meine Frage: Geht das überhaupt, und wenn ja, wie? Ich habe bisher noch keinen Befehl dafür gefunden.
Gruß Ringo
Hallo Ringo,
mit einem einfachen Befehl geht das auch nicht, höchstens mit einem SQL-Statement. Bei einer einfachen Datenbank wie DBase und einer Zugriffssoftware dazu geht das etwa so:
Datenbank öffnen und Felddefinitionen der Tabelle laden.
Die Felddefinitionen für eine neue Datenbank kopieren und um das neue Feld ergänzen (auch mehrere).
Mit dieser neuen Definition eine neue Tabelle anlegen.
Alle Sätze der alten Datenbank in die neue kopieren und dabei sinnvolle Werte in die neuen Felder schreiben.
Die alte durch die neue Tabelle ersetzen.
Gruss Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
Reinhard hat ja schon darauf hingewiesen. SQL ist alles.
Du nimmst eine TQuery-Komponente und gibst den SQL-Befehl ein:
ALTER TABLE [table_name] ADD [column_name] [datatype]
was du als Datatype angeben kannst, hängt von der verwendeten DB ab.
Dann machst du ein Query.execute und die Tabelle sollte um eine Spalte erweitert sein.
Gruß, Niels
Hallo Niels und Reinhard,
danke für Eure Hilfe. Nachdem ich die korrekte Syntax für das SQL auf DBase herausgefunden habe, hat es funktioniert.
qry_Tabelle.SQL.Add(‚ALTER TABLE „test.db“ ADD NAME CHAR(20)‘);
qry_Tabelle.ExecSQL;
Gruß Ringo