请高手帮我 中间层采用dbexpress 在用 DATASETPROVIDER1.ApplyUpdates(SAVE1,0,TT)不能更新数据,有一些表可以更新,但有一些表不能更新!
将中间层的 SQLQUERY    换成 SQLTABLE  正常。为什么用SQLQUERY  做中间层不能更新数据呢?

解决方案 »

  1.   

    DBX还不成熟啊,遇到的问题会越来越多
      

  2.   

    咦?请楼主讲讲你是如何用sqlTable同时更新多个表的。
      

  3.   

    jingbianfc(『静⊙变』) ( ) 信誉:100  2003-12-5 17:41:50  得分:0   
    DBX还不成熟啊,遇到的问题会越来越多
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    说话要负责人,别想当然的。
      

  4.   

    楼主首先要区别Table和SQLQuery的区别。SQLQuery 得到可能是只读视图,你应该在 TDataSetProvider的BeforeUpdateRecord里面写代码自己修改数据表,它能实现类似BDE 的TUpdateSQL的功能。同样,这个办法也能修改多个表查询出来的视图。
      

  5.   

    我觉得原因其实很简单,肯定是更新时候出错,但是你没处理出错的消息,所以觉得一些能跟新,一些不能。你处理了更新的出错事件,就可以找出毛病了,注意datasetprovide的updatamodule,还有注意所连接表的所有字段的那个什么属性,控制一个字段属于关键字端还是可更新字段的那个。
    三层很多东西,很多关键的属性设置不正确的话,很多时候结果出乎意料。其实李维讲了很多东西,但是不是很系统。