三層結構下如何實現主副表(50分)

  • 主题发起人 主题发起人 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
請問各位富翁,有辦法幫忙麼?

 
客戶端主表ClientDataSet ->AfterScroll 事件里寫 ,讀取Query2中的SQL屬性輸入子表關聯查詢語句Select * From 子表 where 關聯字段=:關聯字段
 
需要在主clientdataset中加入所有数据字段
里面会出现一个包数据,此为子表的数据包
 
52free,我真的服了you,你怎么那么有时间,每次来都见到你,拱手问好,在深圳吗?
 
我先去測試一下,實在搞不定你們幫我弄 個簡單的例子
OK?
 
to zhangceyong:
采用以上四種方式的哪一種?
讀取Query2裡面的Sql屬性?如何在客戶程序中讀取?
不是直接賦值給Clientdataset的CommandText來執行SQL語句的麼
 
自己up一下
沒人,回答,郁悶
 
就用 52free 說的那一种﹐就是李維書中所說的巢狀技術﹗可以很好的解決主從表問題﹗
 
可以告訴我詳細一點麼?
我測試了好久還是搞不懂其中的含意......
 
我门这都是用cds写sql语句
 
to 52free:
你也太懶了,害得我走了好多彎路
不過你給我的那句話是最重要的,不可否認,所以分是你的
你去http://www.delphibbs.com/delphibbs/dispq.asp?lid=2096314
這裡還有100分給你
 
52free記得來拿分啊,把分給那些沒回答出來的人好象太...
 
后退
顶部