我用ADO连接 Access数据库adotable1.FieldValues['总计']:=adotable1.FieldValues['基本工资']+adotable1.FieldValues['调整']
这条命令只更新当前记录

解决方案 »

  1.   

    要么你在程序里写个循环,对结果集每条记录进行这个加法操作
    要么别用ADOTABLE ,用ADOQUERY,写一个 UPDATE语句放在其SQL属性中,运行即可。
      

  2.   

    ADOQuery1.Close;
    ADOQuery1.SQl.Text:='update 表t set 总计='+adotable1.FieldValues['基本工资']+adotable1.FieldValues['调整'];
    ADOQuery1.ExecSQL;
      

  3.   


    这个只是个例子吧,要根据具体的表名和字段名来修改,你原封不动抄上当然不能运行了
    ADOQuery1.Close;
    ADOQuery1.SQl.Text:='update 表t set 总计='+adotable1.FieldValues['基本工资']+adotable1.FieldValues['调整'];
    ADOQuery1.ExecSQL;
      

  4.   

    1 表名要改
    2 字符型字段要加引号
    3 建议用adocommand更新数据库,不要用adoquery
      

  5.   

    ADOQuery1.Close;
    ADOQuery1.SQl.Text:='update 表t set 总计=基本工资+调整';
    ADOQuery1.ExecSQL;
      

  6.   

    ADOQuery1.SQl.Text:='update 表t set 总计=convert(Currency,'+adotable1.FieldValues['基本工资']+')+convert(currenty,'+adotable1.FieldValues['调整']+')';
      

  7.   

    可以了,DBGRID里的数据不自动刷新
      

  8.   

    你的数据是在后台更改的,必须刷新。
    adoquery1.requery;//是dbgrid关联的表哦
      

  9.   


    requery不知道怎么用,我的表是db1,麻烦说一下经过多次试验,我用下面的方法实现刷新了
    adoquery1.SQL.Text:='select   *   from   db1';
    adoquery1.Active:=true;
    DBGrid1.Refresh;
      

  10.   

    adoquery1.Active:=true;

    adoquery1.open;效果是一样的.
    你的语相当于,关闭的数据表重新打开。一样可以起到刷新记录的目的。

    adoquery1.requery;
    则是在不关闭数据表的情况下,从服务器重新下载数据。