1.我从几个表分别查询出一些字段组成一个记录集(组合查询).
2.在程序中通过Append新增一些数据记录,并且每个字段都赋了值.接下来的目的是:
我只想把主要表的字段更新回去.而其他表的字段不更新,请问应该怎么办?
提示:ADODataset.Recordset.Properties属性集中有一个 Unique Table 属性:指定记录集主要表,对记录集的更新只引响主表.但是我设置 Unique Table 后对SQL Server 2000不起作用,数据仍然同时更新每一个表。请教应该怎么办?

解决方案 »

  1.   

    如果你能改成加datasetprovider,clientdataset那种的话每个field 都有个providerflag属性,将不想更新的字段的pfupdate设置成false的话到是可以满足你的要求
      

  2.   

    楼上兄弟可不可以再讲明白些?proveder 与lientdataset是多层中用的吧!
      

  3.   

    我的意思是

    DB---TAdoConnection-----TAdoDataset---TDataSource----感应控件改为DB---TAdoConnection-----TAdoDataset---TDataSetProvider---TClientDataSet----TDataSource----感应控件
      

  4.   

    呵呵,代码有点**
    不用把sql写这么清楚,把你的结构写清楚点,不然看不懂
      

  5.   

    其实代码也就是个思路:
    ---------------------------------------------------------------------------------赋SQL :Commandtext 
    打开  :Open
    增加  :Append
    赋值  :各字段
    保存  :(问题就是这里啦,楼顶我已把问题说得很情楚了,代码分散在不同的单元中,所以抓出来就有点**了,呵!)
      

  6.   

    这种方式可以在单一表单上实现服务器与客户数据集的打开吗?这样是不是首先要建立服务器,然后客户机的连接才能指定ServerName,并进行连接.但我目前这个程序不可能做得这么复杂啊,如果这样,还不如找一种替换解决方案! 你思路应该是这样的吧:
    ---------------------
    DB---TAdoConnection-----TAdoDataset---TDataSetProvider---DCOMConnection---TClientDataSet----TDataSource----感应控件
      

  7.   

    这种方式可以在单一表单上实现服务器与客户数据集的打开吗?这样是不是首先要建立服务器,然后客户机的连接才能指定ServerName,并进行连接.但我目前这个程序不可能做得这么复杂啊,如果这样,还不如找一种替换解决方案! 你思路应该是这样的吧:
    ---------------------
    DB---TAdoConnection-----TAdoDataset---TDataSetProvider---DCOMConnection---TClientDataSet----TDataSource----感应控件
    ---------------------
    如果你确信可以,帮我写一些代码指下思路?多谢了.关于多表连接单表更新这个问题我在网上找到很多贴子最后都没有完好的解决方法.
      

  8.   

    楼主在线吗?方便的话留qq或msn
      

  9.   

    我关于多层的理解不深,我的意思是把中间层和客户端都放在一起了,是个假的三层吧...这些东东怎么连起来你一定会吧,你把它们都放在一个地儿,连起来,然后设置TAdoDataset中的相关字段的providerflag属性,将不想更新的字段的pfupdate设置成false...
      

  10.   

    关键是中间层是以服务的方式存在的,必须要把DatasetProvider服务器运行起之后,客户机的DCOMConnection或SocketConnection才能进行连接。