2
以下Delphi函數可用於將fkInternalCalc添加到TClientDataset。 這很有用,因爲我可以爲每條記錄存儲一些信息,進行計算或存儲臨時標誌。在TSQLQuery上創建一個fkInternalCalc字段
相同的代碼在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;
任何解決方法? – Jako 2014-08-29 10:00:10