请问各位:
  我想实现 某字段 = 某字段 - 变量的数值  (字段是数据类型的)
  例如 某字段名叫(ZD) 值是 5 (其中一条记录) ,运行 下面 语句
  aa:=2 
  sql.add('update 表名 set 字段1=字段1-:aa')
  
  后想得到 ZD 的值为 3

解决方案 »

  1.   

    字段1:=字段1 - aa;
    sql.add('update 表名 set 字段1)
    这样就可以了
      

  2.   

    只要和数据库里的类型一致,可以直接写啊
    update 表名 set 字段1=字段1-aa就可以了
    如果类型不一样,需要用sql的转换函数convert
      

  3.   

    //aa為參數
      with adoquery1 do
        begin
          close;
          sql.clear;
          sql.add('update table set  字段1=字段1-'+''''+aa+'''');
          execsql;
        end;
      

  4.   

    建议这样写:
     with adoquery1 do
        begin
          close;
          sql.clear;
          sql.add('update table set  字段1=字段1-:pam);
          parameters.parabyname('pam').value:=strtoint(edit1.text);
          execsql;
        end;
      

  5.   

    直接sql.add('update table set  字段1=字段1-'+IntToStr(var));不行吗,var随你给多少,除非有时字段是DateTime型的,用参数最方便.至于其他类字段(除LargeObj外)基本都可以直接用+连得出来