gpt4 book ai didi

delphi - 在 TSQLQuery 上创建 fkInternalCalc 字段

转载 作者:行者123 更新时间:2023-12-02 09:21:15 25 4
gpt4 key购买 nike

以下 Delphi 函数可用于将 fkInternalCalc 添加到 TClientDataset。这很有用,因为我可以为每条记录存储一些信息,进行计算或存储临时标志。

相同的代码在 Lazarus 中不起作用,它在 DataSet.FieldDefs.Update 上停止。

有办法实现相同的功能吗?请记住,人们可以更改数据库字段并应用所做的更改。

使用该函数的工作 Delphi 代码是:

AddDummyField(qry,TIntegerField,'PROCESS_ACTION');
qry.Open;
...

function AddDummyField(Dataset:TDataset;fieldClass:TFieldClass;fieldName:string;size:integer):TField;
var
i: Integer;
begin

if Dataset.FieldDefs.Count = 0 then
begin
DataSet.FieldDefs.Update;

for i := 0 to DataSet.FieldDefs.Count - 1 do
DataSet.FieldDefs[i].CreateField(DataSet);
end;

Result := Dataset.FindField(fieldName);

if Result <> nil then
exit;

Result := fieldClass.Create(Dataset);
Result.FieldName := fieldName;
Result.FieldKind := fkInternalCalc;
Result.DataSet := Dataset;

if size>0 then
Result.Size := size;
end;

最佳答案

您必须先打开数据集。

...
DataSet.Open;
DataSet.FieldDefs.Update;
DataSet.Close;

for i := 0 to DataSet.FieldDefs.Count - 1 do
DataSet.FieldDefs[i].CreateField(DataSet);
...

关于delphi - 在 TSQLQuery 上创建 fkInternalCalc 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25549220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com