RAD Studio VCL Reference
|
Creates a new, empty client dataset.
procedure CreateDataSet;
__fastcall CreateDataSet();
Call CreateDataSet at runtime to create a new, empty client dataset that can then be edited and saved.
If the FieldDefs property contains values, these values are used to create field definitions. Otherwise the Fields property is used. One or both of these properties must contain values in order to create a dataset. If neither property is set, CreateDataSet raises an exception.
If the IndexDefs property contains values, these values are used to create indexes for the dataset.
C++ Examples:
/* The following code creates and activates a client dataset in the form’s OnCreate event handler. */ void __fastcall TForm1::FormCreate(TObject *Sender) { TFieldDefs *pDefs = CDS2->FieldDefs; TFieldDef *pDef = pDefs->AddFieldDef(); pDef->DataType = ftInteger; pDef->Name = "Field1"; pDef = pDefs->AddFieldDef(); pDef->DataType = ftString; pDef->Size = 10; pDef->Name = "Field2"; TIndexDef *pIDef = CDS2->IndexDefs->AddIndexDef(); pIDef->Fields = "Field1"; pIDef->Name = "IntIndex"; CDS2->CreateDataSet(); }
Delphi Examples:
{ This example requires two ClientDataSets, two DBGrids, two DataSources and two DBNavigators. Name the two ClientDataSets CDS and CDS2. Set the DataSet property in the first DataSource to CDS and name that DataSource DS. Set the DataSet property in the second DataSource to CDS2 and name that DataSource DS2. Set the DataSource in the first DBNavigator to DS and the DataSource in the second DBNavigator to DS2. Set the DataSource in the first DBGrid to DS and the DataSource in the second DBGrid to DS2. Right click on CDS and select the Fields Editor, then right click on the Field Editor form and create two fields by selecting "new field". In the field configuration window, set the name to HOST, the Component value will automatically be set to CDSHOST. Set the filed type to String. In the field configuration window for the second field, set the name to PORTA, the Component value will automatically be set to CDSPORTA. Set the field type to Integer. The file used to load CDS must have an attribute name of HOST with an attribute type of string and an attribute name of PORTA with an attribute type of integer. Add DB, DBCtrls, Grids, DBGrids, DBClient and SwSystem to the uses clause. "LoadFormFile" to start with the file, or "CreateDataSet" to start from scratch. You must "CloseDataSet" after a "LoadFromFile" before you can do another "CreateDataSet". } {$IFNDEF UNICODE} uses SwSystem; {$ENDIF} procedure TForm1.Button1Click(Sender: TObject); begin {$IFDEF UNICODE} CDS.LoadFromFile(GetCurrentDir + '\CDS.XML'); {$ELSE} CDS.LoadFromFile(gsAppPath + 'CDS.XML'); {$ENDIF} end; procedure TForm1.Button2Click(Sender: TObject); begin {$IFDEF UNICODE} CDS.SaveToFile(GetCurrentDir + '\CDS.XML', dfXML); {$ELSE} CDS.SaveToFile(gsAppPath + 'CDS.XML', dfXML); {$ENDIF} end; procedure TForm1.Button3Click(Sender: TObject); begin CDS.CreateDataSet; end; procedure TForm1.Button4Click(Sender: TObject); begin CDS2.Data := CDS.Data; end; procedure TForm1.Button5Click(Sender: TObject); begin CDS.Close; end;
{ The following code creates and activates a client dataset in the form’s OnCreate event handler. } procedure TForm1.FormCreate(Sender: TObject); begin with CDS2 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;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|