Frequently Asked Questions
Single Tier Applications
Question:
How do I set up a single tier application using Client
Datasets?
Answer:
Currently, the only way to activate a client dataset at
design time is to associate it with a provider, to load
data from a file, or to assign data from another dataset.
Typically, for a single tier application you would create
the dataset at runtime using the CreateDataSet method.
Here is how you might code the FormCreate and FormDestroy
methods:
OnFormCreate:
if FileExists('MYDATA.CDS') then
ClientDataSet.LoadFromFile('MYDATA.CDS')
else
begin
ClientDataSet.FieldDefs.Add('Field1', etc.);
ClientDataSet.FieldDefs.Add('Field2', etc.);
ClientDataSet.CreateDataset;
end;
OnFormDestroy:
if ClientDataSet.Active then
begin
// Next line is optional,
// if you don't want undo support you could
// set LogChanges = False instead.
ClientDataSet.MergeChangeLog;
ClientDataSet.SaveToFile('MYDATA.CDS');
end;
Once you've run the app once and created the data file,
you can easily load it at design time (from the
right-click component menu) if you need to have the
dataset active at design time for some reason.