用ADO + ADOQuery + DataSetProvider 构成COM+ ,用SocketConnection + ClientDataSet 构成Cl

  • 主题发起人 主题发起人 jettop
  • 开始时间 开始时间
J

jettop

Unregistered / Unconfirmed
GUEST, unregistred user!
用ADO + ADOQuery + DataSetProvider 构成COM+ ,用SocketConnection + ClientDataSet 构成Client 在该模式下的 问题可供大家参考? (100分)<br />用ADOConnection + ADOQuery1 + DataSetProvider1 和 ADOQuery2 + DataSetProvider2 构成COM+ (访问两个表),
用SocketConnection + ClientDataSet1 + DataSource1 和 ClientDataSet2 + DataSource2 构成Client(分别访问上面的两个)
在该模式下的 问题可供大家参考,
所有连接都是正常的,在Client中我有两个ClientDataSet1各ClientDatSet2。
如果它们相互独立则所有操作都OK,但我想它们形成Master-Detail关系时我是这样做的:
ClientDataSet1的CommandText:='SELECT A1,A2,A3,A4 FROM TAB1'
ClientDataSet2的CommandText:='SELECT B1,B2,B3,B4 FROM TAB2'
ClientDataSet2的IndexFieldNames:=B1;B2
ClientDataSet2的MasterSouece:=DataSource1 (ClientDataSet1的DataSource,见上面)
ClientDataSet2的MasterFields:=A1;A2 (详细为 A1->B1 A2->B2)
问题:当ClientDataSet2.Active:=True 时提示为 : "ADOQuery2 : Missing SQL property" (ADOQuery2 为COM+中的,见上面)
当然ClientDataSet2的数据集不能打开,这个问题出在哪里,盼众友百忙之中给予答复,
谢谢!!
顺祝大家身体健康,防典胜利! [8D]
 
[:)][blue][/blue]为什么不在SERVER端做主-从关系?
客户端直接使用就可以了
 
同意楼上,最好使用嵌套表
 
个人意见:写代码控制主从关系
在数据集移到事件里写代码: ClientDataSet2的CommandText:='SELECT B1,B2,B3,B4 FROM TAB2 where b1=clientdataset1.fieldbyname('a1').value and b2=...'
楼主用原来的方法能解决吗
 
后退
顶部