100分求教,我用的是ADO,为什么主细表在二层中能实现,在三层中就不行了呢?各路高手,帮帮我吧!最好能举一个例子,如果谁能解决,另外开一贴给加分。我在这里先谢了!

解决方案 »

  1.   

    多加一个 ClientDataSet 指向从表 可以吗 ?
      

  2.   

    to wjlsmail(计算机质子):谢谢你!
    不行啊!我在应用程序服务器里设置完主细表之后,到客户端去调用就不行。
      

  3.   

    自己在主表的aferstroll写个过程,就可以了。
      

  4.   

    试一下下面的方式:
    1、在服务端放置ADOConnection,连接数据库
    2、放置ADODataSet,假设命名为ADSMaster,写上SQL语句,选取主表记录
    3、放置DataSouce,DataSet设为ADSMaster;
    4、放置另外一个ADODataset,假设命名为ADSDetail,写上SQL语句,选取
       从表记录,设置DataSouce为刚才主表的Datasource,这样在从表与主表
       建立连接关系,(等会,点上一支烟熏一会再说),然后在MasterFields
       的Field Link Designer主表从表关联的字段
    5、放置DataSetProvider,DataSet连接ADSMaster
    6、这样激活上面的,执行就可以注册服务器,备用客户端
    1、使用SocketConnection或者DComConnection连接刚才建立的服务器
    2、放置两个DataSouce、两个ClientDataSet,其中一个连接到服务器
       的DatatSetProvider,将所有字段加入到Fields Editor中,你将看
       到有一个ADSDetail的字段
    3、在另外一个ClientDataSet中的DataSetField中加入ADSDetail,大致
       是这样的字样ClientDataSet1ADSDetail
    4、激活ClientDataSet1就可以了
    5、放上两个DBGrid就可以看到效果了
    ePing
      

  5.   

    呵呵,楼上打的真详细。这是静态做法。我好久做过动态的做法,不过好久了,源码也没,只记得Client::ClientDataSet.OnGetRecord事件是最先触发,在那里,我都把表名传给Server,然后Server进行这表名进行打开对应的表名。因为我不想因为有N个主从表的关系,就放N个DataSet, DataSource, DataProvider.ePing好像快两年没山了吧,呵呵。:)
      

  6.   

    呵呵,是好像有一两年没有回答问题了,
    你们都混了N颗星星了,这次出来主要
    是做广告的,哈哈ePing
      

  7.   

    偶不思进取,也混了两个星星...有什么用哩,还不如去做个漂亮的主页,放点程序实在,我以前真是瞎忙活,分那分那,你告诉我,你有什么用?来CSDN这么久,我还是原来的我...而你,呵呵.
      

  8.   

    to 各位:
    谢谢你们的回答。
    to  ePing(◇ www.ePing.net ◇) :特别谢谢你,可是我在设置DataSetField时,总是提示我'invalid property value',我的主表是vsh_cgrk1(TClientDataSet),从表是vsh_cgrk2(TClientDataSet),都放在名为whdata这个数据模块上了,我在从表中的DataSetField中是这么写的:whdata.vsh_cgrk1vsh_cgrk2或vsh_cgrk1vsh_cgrk2,但总是显示这个错误,能否再帮我解决一下吗?多谢了!
      

  9.   

    to lihongyue(yue)
       上面的是我亲自做过的一个Demo而已,你先不要去想你的程序,
    按照上面作一个Demo,这样你就知道需要使用到什么控件,以及
    如何设置相关属性,然后类推到你的软件中,因为我毕竟缺少你的
    那种环境,对吧RegardsePing
      

  10.   

    to lihongyue(yue):
       在做一些大的项目的时候,中间某个小的过程都可以在
    外部先做一些小Demo,实现了,然后在应用到你的项目中,
    这是一个比较好的方法,嘻嘻Regards ePing
      

  11.   

    to  jerbee(夜雨):谢谢你!
    收到了,不好意思,我今天早上才上网就收到了你的邮件,我对你表示十分的感谢!
    to  ePing(◇ www.ePing.net ◇) :谢谢!
    我也非常的感谢你,我先按你说的做一个例子吧!还是DataSetField的问题。
    to everyone:
    谢谢大家的关心与支持!