程序执行的是简单的插入修改操作。例如: with ADOQuery4 do begin close;sql.Clear; sql.Add('insert into A_YSD_CL (YSDLSH,CH,TBZYSX,CDDDYLSH,SJZHSL) values(:YSDLSH,:CH,:TBZYSX,:CDDDYLSH,:SJZHSL)'); Parameters.ParamByName('YSDLSH').Value:= S_lsh; Parameters.ParamByName('CH').Value:= Edit8.Text; Parameters.ParamByName('SJZHSL').Value:= Edit6.Text; Parameters.ParamByName('TBZYSX').Value:= Memo2.Text; Parameters.ParamByName('CDDDYLSH').Value:= I_CDDDYLSH; ExecSql; //修改车辆状态为在途 close;sql.Clear; sql.Add('update A_CLB set CLZT=''在途'' where cph=:cph'); Parameters.ParamByName('cph').Value:= Edit8.Text; ExecSql; ////修改运输单状态为4 if StrToFloat(ADOQuery1.FieldByName('wzsl').AsString)-(sjzhzs+StrToFloat(Edit6.Text))<0.00000000000001 then begin close;sql.Clear; sql.Add('update A_YSD set djzt=4 where lsh=:YSDLSH'); Parameters.ParamByName('YSDLSH').Value:= S_lsh; ExecSql; end; end; 大部分的时候数据都是正常的。可是每个月都有几条记录丢失值。也不是全部都没有,就是某个字段没有值。
with ADOQuery4 do
begin
close;sql.Clear;
sql.Add('insert into A_YSD_CL (YSDLSH,CH,TBZYSX,CDDDYLSH,SJZHSL) values(:YSDLSH,:CH,:TBZYSX,:CDDDYLSH,:SJZHSL)');
Parameters.ParamByName('YSDLSH').Value:= S_lsh;
Parameters.ParamByName('CH').Value:= Edit8.Text;
Parameters.ParamByName('SJZHSL').Value:= Edit6.Text;
Parameters.ParamByName('TBZYSX').Value:= Memo2.Text;
Parameters.ParamByName('CDDDYLSH').Value:= I_CDDDYLSH;
ExecSql;
//修改车辆状态为在途
close;sql.Clear;
sql.Add('update A_CLB set CLZT=''在途'' where cph=:cph');
Parameters.ParamByName('cph').Value:= Edit8.Text;
ExecSql;
////修改运输单状态为4
if StrToFloat(ADOQuery1.FieldByName('wzsl').AsString)-(sjzhzs+StrToFloat(Edit6.Text))<0.00000000000001 then
begin
close;sql.Clear;
sql.Add('update A_YSD set djzt=4 where lsh=:YSDLSH');
Parameters.ParamByName('YSDLSH').Value:= S_lsh;
ExecSql;
end;
end;
大部分的时候数据都是正常的。可是每个月都有几条记录丢失值。也不是全部都没有,就是某个字段没有值。
例如:我某一表中字段sfs上有一update触发器,当我修改sfs的值触发器触发,取得修改的值进行计算。正常情况下没有问题,可是总是有那么几次不能取得修改的值,产生了明显错误的结果。