日安
我是Delphi的新手。我正在尝试以编程方式将记录保存到tClientDataset,然后从dataset中读取该记录。我想我似乎已经成功地在数据集中保存了记录,因为在我将数据附加到记录并发布它之后,数据集的recordcount是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;
发布于 2018-09-20 00:52:42
我找到问题了。我错误地为tClientDataset设置了字段的FieldKind。我将FieldKind设置为fkCalculated
,但它应该是fkInternalCalc
。
https://stackoverflow.com/questions/52410350
复制相似问题