第七节 一对多表的服务器端程序
一、Application Server
事先要有一个标准的Form
file -> New -> Multitier -> Remote Data Module
CoClass Name :test63
Instacting: Multiple Instacting
Threading Model: Apartment
放入 ADOTable1
ADOTable2
Datasouce1
DataSetProvider1(在Data Access)
DataSetProvider2
属性:
ADOTable1(主表)
ADOTable2(从表)
用ConnectionString和TableName连上数据库
ADOTable1 DataSetProvider1
Datasouce1
ADOTable2 DataSetProvider2
连上相应的数据库(这里为: 奖金数据库.mdb)
TADOQuery.SQL=select * from 奖金
TADOQuery.Active=true
TDataSetProvider.Dataset=ADOQuery1
保存(工程名改为pChpServer),运行(注册)
客户端
DCOMConnection1
属性:ComputerName=计算机名(本地可以不写)
ServerName=服务器端程序名(COM)
Connecter=true (表示连上)
ClientDataSet1
属性:RemoteServer=DCOMConnection1
ProviderName=DataSetProvider1
Active-=true
ClientDataSet2
属性:RemoteServer=DCOMConnection2
ProviderName=DataSetProvider2
Active-=true
加入两个TDataSource,TDBGrid分别连上
ClientDataSet1和
ClientDataSet2
似乎应该显示主从关系了,但DBGrid2并没有显示。
解决办法:
双击ClientDataSet1,出现Form1.ClientDataSet1窗口,右键,快
捷菜单上选Add Field 这时,我们可以看到最后一行出现:ADOTable2
这是很重要的,正是靠这个建立了主从联接关系
OK 让它进入Form1.ClientDataSet1窗口(也可以调整主表所显示
的字段,但ADOTable2 不能少,它实际上是把从表作为主表的一个字段
使用了)。
ClientDataSet2属性:
DataSetField=ClientDataSet1ADOTable2
Active=true
主从关系建立起来了。
(出处:DelphiFans.com)