ClientDataSet.Fields
1 отговора
46 прегледа
ClientDataSet.Fields
Здравйте, имам следните въпроси:
1. На ClientDataSet възможно ли е да не му се указват RemoteServer и DataSetProvider, т.е. ClientDataSet-a да се използва само като локален кеш за данни, като полетата му се добавят в run-time.
2. В случай че горното не е възможно, мога ли, ако изобщо е възможно да добавя поле към ClientDataSet-a в run-time, което не фигурира във физическата таблица.
Причината е, че пробвах да добавя такова поле, но после след като приложих Locate по това поле, компилатора ми изпищя че това поле не фигурира в ClientDataSet-a, а при последвал дебъг се вижда че е там, но просто не ще да Locate-ва по него, което не ми е ясно защо (синтаксиса на Locate-a е спазен).
Моля, ако някой знае как мога да разреша проблема, нека каже.
1. На ClientDataSet възможно ли е да не му се указват RemoteServer и DataSetProvider, т.е. ClientDataSet-a да се използва само като локален кеш за данни, като полетата му се добавят в run-time.
2. В случай че горното не е възможно, мога ли, ако изобщо е възможно да добавя поле към ClientDataSet-a в run-time, което не фигурира във физическата таблица.
Причината е, че пробвах да добавя такова поле, но после след като приложих Locate по това поле, компилатора ми изпищя че това поле не фигурира в ClientDataSet-a, а при последвал дебъг се вижда че е там, но просто не ще да Locate-ва по него, което не ми е ясно защо (синтаксиса на Locate-a е спазен).
Моля, ако някой знае как мога да разреша проблема, нека каже.
Re: ClientDataSet.Fields
ClientDataSet е доста мощна компонента, която можеш да я използваш както си поискаш.
ето един пример за дефиниране на полета в CDS чрез TFields
ето един пример за дефиниране на полета в CDS чрез TFields
procedure TForm1.FormCreate(Sender: TObject);
begin
with ClientDataSet1 do
begin
with TStringField.Create(Self) do
begin
Name := 'ClientDataSet1FirstName';
FieldKind := fkData;
FieldName := 'FieldName';
Size := 72;
DataSet := ClientDataSet1;
end; //FieldName
with TMemoField.Create(Self) do
begin
Name := 'ClientDataSet1LastName';
FieldKind := fkData;
FieldName := 'Last Name';
DataSet := ClientDataSet1;
end; //Last Name
ClientDataSet1.CreateDataSet
end;
end;