Adoquery的內容:
SELECT bom_list.*, base_materiel.unit AS unit
FROM bom_list LEFT OUTER JOIN
base_materiel ON bom_list.part_no = base_materiel.part_no where bom_list.bom_name=:bom_name
我修改或新增的是BOM_list表的內容,怎樣避免去修改或新增base_materiel 呢?

解决方案 »

  1.   

    在POIST前请先检查主键冲突!!!
      

  2.   

    多表更新问题,确实比较麻烦,但是如果你总结好了,把他形成一个自己的编写库的函数,或者累的话,也就不麻烦了,而且你应该这么做,因为在你设计数据库程序的时候,一定免不了多表的更新问题!
    我告诉你一个思路,你自己再去看书,查找资料吧,多表的更新主要有两大解决方法,一中是借助delphi自带控件updatesql,另外的就是自己写函数分离数据,然后更新!这个技术,台湾李维的那本多层分布系统篇有详细介绍,你可以去看看!希望你好云!
      

  3.   

    如果你用的数据库是SQL SERVER7,你要注意有没有升级。 因为你是多表更新,所以存在这个问题,你可以看一下关于多表更新的帮助。
      

  4.   

    這個問題應該是個比較普遍的,只要是有數據庫的地方,就會用得著這個,還是Delphi本身的機制想得不是很周全.
      

  5.   

    wyb716(小刀) ,對呀,我用的是sql server7,那多表更新是前台的原因,還是后台的原因?
      

  6.   

    多表更新最好用事务来完成,ADOConnection1.BeginTrans;
    ADOConnection1.RollbackTrans;
    DOConnection1.CommitTrans;