ADO会自己产生适当的SQL语句更新数据库,但是如果出现多表就无法通过TDBGRID直接进行编辑,请问有什么解决方法

解决方案 »

  1.   

    多表关联后在编辑,基本上是违反了数据库设计原则!很多数据库是不可以多表关联编辑的。只有简单的关联并且是主表才可以更新。 你原来使用的tUPDATA 是可以让用户自己决定更新哪个表的哪个字段。ADO没有提供这样的功能!
      

  2.   

    select A.*,B.name as bName from A,B where A.id = B.id
    其中是对A表进行编辑,B表只取name字段进行展示,这种应用应该很正常吧,怎么会违反了数据库设计原则呢?
      

  3.   

    如果你只是更新单表的话,可以只提取单表的数据,关联的数据可通过dataset的lookup字段得到,这样就不会有多表更新的问题了。
      

  4.   

    同意楼上所说,但lookup字段用多了的话,就是出现在调试期间的地址错误,非调试期间就没有,这样对调试工作带来不便的!
      

  5.   

    关联的数据可通过dataset的lookup字段得到,这样会不会导致效率比较低
      

  6.   

    要想多表能更新,select子句中应包含每个表的主键.否则就不能唯一定位行
      

  7.   

    用TBetterADO,可以指定只更新的表
      

  8.   

    关联的数据可通过dataset的lookup字段得到,这样会不会导致效率比较低
    ------------------------------------
    你这是更新数据,能有多大的数据量,不会有什么效率问题的。