三曾結構下如何用FastReport實現主副表 (100分)

  • 主题发起人 主题发起人 xiaolinj79
  • 开始时间 开始时间
X

xiaolinj79

Unregistered / Unconfirmed
GUEST, unregistred user!
三曾結構,RemoteDataModule,Socketconnection
嚐試過幾種方式
1.服務程序種先放2個Query,2個DataSetProvider,1個DateSource
Query1中的SQL屬性輸入主表查詢語句Select * from 主表,Active=true
Query2中的SQL屬性輸入子表關聯查詢語句Select * From 子表 where 關聯字段=:關聯字段,Active=true;
DataSource的Dataset屬性為Query1
Query2的Datasource屬性為Datasource1
這樣的話,客戶程序放兩個ClientDataSet接收數據
然而這樣處理,再服務程序中,子表查詢出數據,單客戶程序只接收到主表結果
而子表空空,無數據
2.服務器端2Query,2DataSetProvider
客戶程序用ClientDataSet來替代Query實行主副表設置
但是將ClientDataSet2的Active:=true時提示錯誤
提示為:"Query2 cannot perform this opearation on an open dataset"
3.主表查詢放服務程序,子表放客戶程序,則結果同2
4.子表服查詢放服務程序主表放客戶程序,則結果同1
請問各位富翁,有辦法幫忙麼?
 
1:Query2的dataset屬性為Datasource
改为:Query2的Datasource屬性為Datasource
 
這是我的筆誤,Query沒有DataSet屬性,實際上是DataSource
我已經在問題中修改了
 
你先在服務程序中调试,是否能够看到子表的数据?
再看下客户端连接是否正确?
 
你說的是第一種方式?可以看到子表數據
但是客戶程序的ClientDataSet中看不到:(
 
自己up一下
沒人,回答,郁悶
 
自己解決了,可是分...
真不想亂送人
 
其實你所用的是李維所說的巢狀數据表結构﹗
將clientdatset2的datasetfield設為ClientDataSet1adsDetail就可以了﹗
 
看我的:
--跨服务器查找数据
EXEC sp_addlinkedserver @server='try1', @srvproduct='',
@provider='SQLOLEDB', @datasrc='168.6.8.xxx'
--EXEC sp_addlinkedsrvlogin 'try1', 'false', NULL, 'user', 'userpass'
EXEC sp_addlinkedsrvlogin 'try1', 'false', 'userlogin', 'user', 'userpass'
select * from sysservers
--exec sp_dropserver [try1],'droplogins'
select * from [try1].yourdb.dbo.yourtable
 
tt8:這里分給你吧,那邊是搞不定了
 
接受答案了.
 
后退
顶部