'update '+v_table+' set '+v_jsgs;这个语句翻译出来是什么啊??
Update Table1 Set aaa???????
  

解决方案 »

  1.   

    v_jsgs是个计算公式,其实就是更新一个表
    update table1 set a4=a1+a2+a3
      

  2.   

    设置qry_auto.UpdateObject := qry_js
      

  3.   

    qry_auto.UpdateObject := qry_js 
    这句话根本无法执行啊
      

  4.   

    我靠,你在那个query里每次动态写语句时,都不带清空以前的垃圾的吗?我真为那个query悲哀!
    参考SQL(添加部分):
      query1.sql.clear;
      query1.sql.add('what what what')
      

  5.   

    关键是和query1.sql.clear;没有关系,我query1.sql.text:='sdfs';实际上已经把原来的冲掉了,就象我们和变量不是一样吗?
    关键问题是我再在DGRID中操作数据时,有时会出现这样的错误:couldn't peroform the edit
    because another user change the record;
    还有一个字段定义了NUMBER(8,2),但是我如果出入的数据超出这个范围也报错,出现这样的错误 
      

  6.   

    对呀是没什么关系
    你操作dbgrid过程可不可细说一下
    把相关的代码都贴上来
      

  7.   

    好吧
    在DBGRIDE的我就执行了这样的语句:
    var
        v_jsgs:string;
    begin
       //计算各项
       qry_auto.Close;
       qry_auto.SQL.Clear;
       qry_auto.SQL.text:='select code,name,jsgs from jisuan_gsb where code<>''D'' and code<>''C''';
       qry_auto.Open;
       while not qry_auto.eof do
       begin
           v_jsgs:=qry_auto.fieldbyname('jsgs').asstring;
           qry_js.Close;
           qry_js.SQL.text:='update '+v_table+' set '+v_jsgs;
           qry_js.ExecSQL;
           qry_auto.Next;  
       end;
    如果将这些程序去掉,就不出错,怎么会事啊?end;
      

  8.   

    改一下qry_js,改成TUpdateSQL组件,再看看书上和帮助中TUpdateSQL的说明吧,带有一个很长的例子咧
      

  9.   

    sorry,贴错了!你那个错误因为你的这条记录已经处于编辑状态,你再用update当然报错了
      

  10.   

    Delphi的帮助里就有很多的例子啊,贴出来太占版面了吧?