Как сохранять и читать записи в Delphi tClientDataset - PullRequest
0 голосов
/ 19 сентября 2018

Добрый день

Я новичок в Delphi.Я пытаюсь программно сохранить запись в tClientDataset, а затем прочитать запись из набора данных.Кажется, мне удалось успешно сохранить запись в наборе данных, потому что после того, как я добавил данные в запись и опубликовал ее, количество записей в наборе данных равно 1. Однако, когда я пытаюсь прочитать значения записей, явернуть Null обратно.Я создал tclientdataset, используя панель инструментов и вручную установив поля в окне дизайна.имя набора данных:

dsUnitData

Я использую Delphi RadStudio XE2.
Может ли кто-нибудь помочь, указав, что я делаю неправильно, чтобы прочитать Null вместо ранее заполненных значений?

Вот мой код:

procedure TfFeetRevenueByUnit.BitBtn1Click(Sender: TObject);
var test, theunitname : string;
count, feet, counter : integer;
revenue :currency;
begin
label3.Visible := false;

dsUnitData.Insert;
dsUnitData.FieldValues['Field_UnitName'] := 'test';
dsUnitData.FieldValues['Field_Feet'] := 10;
dsUnitData.FieldValues['Field_Revenue'] := 10.1;
dsUnitData.Post;

count := dsUnitData.RecordCount;

if not dsUnitData.Active then
dsUnitData.Open;
dsUnitData.First;
while not dsUnitData.EOF do
begin
theunitname := dsUnitData.FieldByName('Field_UnitName').Value;
feet := dsUnitData.FieldByName('Field_UnitName').Value;
revenue := dsUnitData.FieldByName('Field_Revenue').Value;
dsUnitData.Next;
end;

1 Ответ

0 голосов
/ 19 сентября 2018

Я нашел проблему.Я неправильно установил FieldKind для полей для tClientDataset.Я установил FieldKind как fkCalculated, но это должно было быть fkInternalCalc.

...