你做一查询专门查从表 当主Query  .AfterScroll后 从表查询用主表的关鍵数据查询从表

解决方案 »

  1.   

    我的作法是这样的:用TADOConnection连接SQL2K数据库。然后用2个adoDataSet(一主
    一从)连接这个TADOConnection,在主adoDataSet的CommandText中写好与主表连接的SQL。
    然后再放一个DATASOURCE (dsMaster)连接这个主表的adoDataSet。主表就完成了,
    接下来作从表。
    在从adoDataSet的CommandText中写好与从表连接的SQL。接着设定它的DATASOURCE为上面的
    DATASOURCE(dsMaster)。然后再设定它的MasterFields为主表的关键字。
    到这从表也作完了。接着设定TDataSetProvider联接到主adoDataSet。并设定ResolveToDataSet
    为TRUE。 poAllowCommandText为TRUE。
    到这SERVER全部完成。我的作法哪有不合适的吗???
      

  2.   

    客户端是这么作的:
    先放两个clientdataset:client1,client2;
    设定client1的romoteserver,providername为合适的值,然后双击它,add all fields
    加入永久字段.你会发现多了一个TDataSetField类型的字段,记住字段名.这就是从表的信息.
    第二个clientdataset除了datasetfield属性什么都不用设,就把这个
    属性设为那个TDataSetField类型字段的名字.有哪不合适的吗???
      

  3.   

    >>代码贴出来,!不然看不出什么问题你随便作个主细档的三层程序就会有这个问题的。
    现在我们这的整个项目组都有这个问题
      

  4.   

    我也做的三层结构,用BDE,这种主从关联用的非常多,倒是没有发现你说得这种情况。
    DELPHI的ADO有BUG,不知你打了补丁没?
    可以试一下用BDE做这种主从连接,做相同的配置,看会不会出现你说的这种情况。中间层QUERY做主从连接时,可以设定用多个字段关联,不知道ADO支不支持。
    另外,实在不行在客户端也可以做主从关联。
    最笨的办法,在主表的AfterScrollS事件里过滤从表,也可以实现同样的效果!
      

  5.   

    我们不打算用BDE,因为感觉它太麻烦>>中间层QUERY做主从连接时,可以设定用多个字段关联,不知道ADO支不支持。
    ADO支持。从您的回答看您好象用的不是巢状表吧。我们刚开始实验时也没用巢状表,但不用
    巢状表时作主细档会出错。主档刷新一次细档就会重复显示一次后来就改用巢状表作了。但没想到问题还是不少