Datenbanken für Fortgeschrittene
Tabellen zur Laufzeit erzeugen
Will man nicht darauf angewiesen sein, Tabellen bereits zur Entwicklungszeit erzeugen und dann mit einem Installationsprogramm weitergeben zu müssen, kann man sie während des Programmablaufs auch erzeugen, wenn sie noch nicht existieren.
Das Erzeugen zur Laufzeit funktioniert folgendermaßen:
with Table1 do begin active:=false; // Table-Zugriff muss auf jeden Fall geschlossen sein DatabaseName:=verzeichnis; // Verzeichnis, in dem die //Tabelle erzeugt werden soll TableName:='Artikel'; // Name der Datei, die erzeugt werden soll TableType:=ttParadox; // Tabelle erhält das Paradox-Format // und somit die Endung .db with FieldDefs do begin clear; Add('ID', ftAutoInc, 0, false); Add('Bezeichnung', ftString, 50, false); end; CreateTable; end;
FieldDefs enthält alle Felder der Datenbank. Das Objekt wird hier zunächst mit clear geleert und anschließend die einzelnen Felder mit Add hinzugefügt. Die Parameter von Add bedeuten hierbei: Zunächst der (eindeutige) Name, dann der Typ des Felds (weitere Typen in der Hilfe unter den Anfangsbuchstaben ft…, die folgende Zahl ist nur bei ftString von Bedeutung, sie gibt hier die mögliche Länge der Zeichenkette an, und der letzte Parameter gibt an, ob eine Eingabe in das Feld nötig ist (true), oder ob es auch leer bleiben kann (false).