我用的是ADOQUERY
假如是单表查询,也就是:sql.text := 'select * from table1'
然后 ADOQUERY.DELETE;ADOQUERY.UPDATEBATCH;
就能删除成功
但是 sql.text := 'select a.no,b.name from table1 a left join table2 b on a.no = b.no'
这样写的时候
删除提交时(即:updatebatch时)
删除就不成功,提示什么缺少更新的列……
请问如何解决,在线等待……

解决方案 »

  1.   

    可以肯定是join的问题
    不要告诉我升级什么ADO
    不要告诉我用什么LOOKUP字段
      

  2.   

    你的显示语句相当于一个拥有多个基表的试图;
    这种结果集是不可更新的;楼主不用升级ADO,因为你升级了ADO也不会好使
      

  3.   

    只有当视图可更新,并且所编写的 UPDATE 或 INSERT 语句只修改视图的 FROM 子句引用的一个基表中的数据时,UPDATE 和 INSERT 语句才能引用视图。只有当视图在其 FROM 子句中只引用一个表时,DELETE 语句才能引用可更新的视图。
      

  4.   

    SQL语句这样写就不会出错了
    select no,(select name from table2 where no = a.no) as name from
    table1 a