TurboDB VCL/CLX Komponenten Bibliothek
Eine Tabelle zur Laufzeit erzeugen
Previous  Top  Next


Die CreateTable Methode der TTdbTable Komponente erstellt eine neue Datenbanktabelle zur Laufzeit. Die Tabellenstruktur wird über die FieldDefsTdb Eigenschaft der Tabelle festgelegt. Falls Sie eine komplett neue Tabelle erzeugen möchten, müssen Sie FieldDefsTdb erst leeren bevor Sie neue Felder hinzufügen.

TurboDB unterstützt auch den Standard Mechanismus basierend auf dem FieldDefs Eigenschaft von TDataSet. Während dies ein guter Weg ist um Kompatibilität zu gewährleisten, bietet FieldDefsTdb eine bessere Kontrolle über die spezielle Möglichkeiten und Feldtypen von TurboDB, die nicht von TDataSet Standard unterstützt werden.

Um FieldDefsTdb zu leeren,
1.Verwenden Sie FieldDefsTdb.Clear.  
 
Um ein TdbFieldDef zu den FieldDefsTdb einer Tabelle hinzuzufügen,
1.Verwenden Sie FieldDefsTdb.Add,  
2.Setzen Sie anschließend die Eigenschaften von TdbFieldDef, das von dieser Funktion zurückgegeben wird.  
 
Um eine Datenbanktabelle zur Laufzeit zu erzeugen,
1.Bestimmen Sie die FieldDefsTdb Eigenschaft entsprechend der Spalten, über die die neue Tabelle verfügen soll,  
2.Legen Sie den TableLevel der Tabelle fest,  
3.Bestimmen Sie Password und Key, falls Sie Ihre Tabelle schützen wollen,  
4.Setzen Sie die Eigenschaften DatabaseName und TableName  
5.Rufen Sie die Methode CreateTable auf.  
 
BEMERKUNG: Falls schon eine Tabelle mit diesem Namen existiert, wird sie überschrieben. Vergewissern Sie sich vor dem Aufruf von CreateTable, dass Sie keine wichtigen Informationen zerstören.

Der folgende Programmausschnitt erzeugt einer Tabelle mit frei Spalten:
TdbTable2.Close;
TdbTable2.FieldDefsTdb.Clear;
TdbTable2.FieldDefsTdb.Add('Word', dtString);
TdbTable2.FieldDefsTdb.Add('Count', dtSmallInt);
with TdbTable2.FieldDefsTdb.Add('RecordId', dtAutoInc) do Specification := 'Word';
TdbTable2.TableName := 'index';
TdbTable2.TableLevel := 3;
TdbTable2.CreateTable;
TdbTable2.Open;