QryLoc.databasename:='d:\rpt2003\bin';
  QryLoc.Close;
  QryLoc.SQL.Clear ;
  QryLoc.SQL.Add('update "'+GetFileName+'31.db" set ');
  QryLoc.SQL.Add(' a38=a38+a.a38 ');
  QryLoc.SQL.Add(' from "Tmpsyljdl" a');
  QryLoc.SQL.Add(' where sb=a.sb');
  QryLoc.SQL.Add('   and bdzh=a.bdzh');
  QryLoc.SQL.Add('   and xlh=a.xlh');
  QryLoc.SQL.Add('   and byqh=a.byqh');
  QryLoc.ExecSQL ;系统提示 在 from那里有错!

解决方案 »

  1.   

    QryLoc是一个Tquery控件,我现在是想对本地的两个表操作,
    就是执行:update "table_1.db" set field_1=a.field_2,field_2=a.field_4
               from "table_2.db" as a
               where field_3=a.field_3但是在运行的时候提示出错,  "from "字符那里
    我认为这样的语句是可以的,帮助里面有这样的例子,但是我的通不过啊????
      

  2.   

    update table1 set a38=a38+(select a38 from table2 where table1.sb=table2.sb and ...)
      

  3.   

    update table1 set a38=a38+a.a38 form table1 b,table2 a where b.sb=a.sb and ...
      

  4.   

    我的是本地 的数据库
    我晓得上面的SQL语句在查询分析器里面可以,但是我在本地执行的时候提示出错了
    在from 里面
      

  5.   

    SQL写错了,不是Update set ..... from (表名) .... where ....,而是Update (表名) set .... where ....
      

  6.   

    是你的引号用错了。在Delphi中,两个单引号才相当于一个单引号。所以要是双引号的话,那应该是几个,该清楚了吧。
      

  7.   

    我不是很懂:
    那么各位可以给我一个实际的可以执行的代码好了,要是在本地的两个表之间的,我想我的想要做什么操作各位还是比较清楚吧,谢谢了先To chenxiyu21th(希瑜) 
    如果是你讲的,是不是两个表之间的就不可以做呢To liangzisiyun(良子)
    我想我是能够理解你的话,但是我想在本地执行,是要用 "table_name", 不是'''table_name'''吧,
      

  8.   

    你用的数据库是sql server?
    还有把"换成'
    这样好看点update a set fname=b.fname from a,b where a.id=b.id