Komponenten
Syntax:
Eigenschaft FieldDefs: TFieldDefs
Beschreibung:
Die Eigenschaft zeigt auf die Liste der Felddefinitionen für die Datenmenge.
FieldDefs enthält die Felddefinitionen einer Datenmenge.
Sie können diesen Wert in Ihren Anwendungen zwar lesen,
um die Felddefinitionen zu ermitteln, sollten die Definitionen aber nur beim Erstellen einer neuen Tabelle mit CreateTable oder CreateDataSet ändern.
Um auf die Felder und Feldwerte in einer Datenmenge zuzugreifen, verwenden Sie die Eigenschaften Fields, AggFields und FieldValues sowie die Methode FieldByName.
Hinweis: Wenn die Datenmenge Objektfelder enthält, repräsentiert FieldDefs eine hierarchische Ansicht der Daten.
Um die Definitionen als nichthierarchische Ansicht abzurufen, verwenden Sie stattdessen FieldDefList.
Beispiel:
//Die folgende Prozedur erzeugt und aktiviert in der Ereignisbehandlungsroutine für OnCreate des Formulars eine Client-Datenmenge:
procedure TForm1.FormCreate(Sender: TObject);
begin
with ClientDataSet1 do
begin
with FieldDefs.AddFieldDef do
begin
DataType := ftInteger;
Name := 'Field1';
end;
with FieldDefs.AddFieldDef do
begin
DataType := ftString;
Size := 10;
Name := 'Field2';
end;
with IndexDefs.AddIndexDef do
begin
Fields := 'Field1';
Name := 'IntIndex';
end;
CreateDataSet;
end;
end;
//Dieses Beispiel zeigt, wie Sie eine Tabelle erstellen können.
with Table1 do begin
Active := False;
DatabaseName := 'DBDEMOS';
TableType := ttParadox;
TableName := 'CustInfo';
{ Vorhandene Tabelle nicht überschreiben }
if not Table1.Exists then begin
{ Die Tabellenkomponente darf nicht aktiv sein. }
{ Zuerst Typ der Tabelle beschreiben und }
{ ihr einen Namen zuweisen. }
{ Danach die Felder der Tabelle definieren. }
with FieldDefs do begin
Clear;
with AddFieldDef do begin
Name := 'Field1';
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;
end;
{ Nun die Indizes definieren }
with IndexDefs do begin
Clear;
{ Der erste Index hat keinen Namen,
{ da er ein Paradox-Primärschlüssel ist }
with AddIndexDef do begin
Name := '';
Fields := 'Field1';
Options := ixPrimary;
end;
with AddIndexDef do begin
Name := 'Fld2Indx';
Fields := 'Field2';
Options := ixCaseInsensitive;
end;
end;
{ Tabelle mit Methode CreateTable erstellen }
CreateTable;
end;
end;