你先声明对应于字段的变量:
var
   field1,field2....:对应于所需的字段类型;
begin
if Locate('bianma;year;month;danjia', vararrayof([prevValue, year,month-1,strtofloat(danjia.text)]), [loCaseInsensitive])
                  then
                       field1:=query.fieldbyname('field1').text;
 .........................
query.fieldbyname('field1').text:='修改的内容';
query.append;
query.fieldbyname('field1').text:=field1;//保存刚才找到的字段数据
end;

解决方案 »

  1.   

    var
      bianma,year,month,danja:string;
    begin
      if Locate('bianma;year;month;danjia', vararrayof([prevValue, year,month-1,strtofloat(danjia.text)]), [loCaseInsensitive])
      then
      begin
        with query do
        begin
          bianma:=fieldbyname('bianma').asstring;
          year:=fieldbyname('year').asstring;
          month:=fieldbyname('month').asstring;
          danjia:=fieldbyname(('danjia').asstring;
          requestlive:=true;
          edit;
          fieldbyname('month').asinteger:=month-1;
          post;
          insert;
          fieldbyname('bianma').asstring:=bianma;
          fieldbyname('year').asstring:=year;
          fieldbyname('month').asstring:=month;
          fieldbyname('danjia').asstring:=danjia;
          post;
        end;
      end;
                          
    end;