如何在Delphi tClientDataset中保存和读取记录



美好的一天

我是德尔福的新手。我正在尝试以编程方式将记录保存到 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;

我发现了问题。我错误地设置了tClientDataset的字段种类。 我将 FieldKind 设置为fkCalculated但它应该是fkInternalCalc的。

最新更新