一个是你制度上控制。
另一个,你尝试下 注销那句判断,让提交时每次都重新打开数据表。
//提交或者更新数据
function TJBSJLRJM.UpLoadData(CJBH:Integer;sjsj:double):boolean;
begin
// if not DataSetBZSJJ1.Active then 注销这句
OpenZBData(CJBH,sjsj);
result:=false;
try
DataSetLRLSSJJ.First;
while not DataSetLRLSSJJ.Eof do
begin // SCTJ_ZBDATA.ZBBH, SCTJ_ZBDATA.ZBSZ, SCTJ_ZBDATA.SJSJ
//指标数据 zbsj 存在 编辑 不存在 追加
if DataSetBZSJJ1.Locate('ZBBH', DataSetLRLSSJJ.FieldByName('ZBBH').Asinteger , [TLocateOption.loCaseInsensitive]) then
DataSetBZSJJ1.Edit
else
DataSetBZSJJ1.Append;
DataSetBZSJJ1.FieldByName('ZBBH').AsInteger:=DataSetLRLSSJJ.FieldByName('ZBBH').Asinteger;
DataSetBZSJJ1.FieldByName('ZBSZ').AsFloat:=DataSetLRLSSJJ.FieldByName('zbsj').AsFloat;
DataSetBZSJJ1.FieldByName('SJSJ').AsString:= FormatDateTime('YYYY-MM-DD',sjsj);
DataSetLRLSSJJ.Next;
end;
//提交数据
DataSetBZSJJ1.ApplyUpdates;
result:=true;
except
end;
DataSetBZSJJ1.Close;
end; |