線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1199
推到 Plurk!
推到 Facebook!

多Form使用到不同Master-Detail關聯的問題

答題得分者是:kevin2004
limary
初階會員


發表:41
回覆:109
積分:30
註冊:2007-01-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-29 14:53:38 IP:61.219.xxx.xxx 訂閱
請教各位前輩:
小妹最近遇到一個問題,試了好幾天都試不出來,可否請各位前輩幫忙一下。
我是在Delphi7的環境下,有個Form有用到兩個TAdoQuery的Master-Detail的關係,另一個Form用到其中一個TAdoQuery與一個新的AdoQuery作另一個Master-Detail的關聯。原先都運作的好好的。最近發現如果我先執行AForm,再將AForm作Close後載入BForm時就會有問題,原來它將AForm中設MD的Where AField=:A1Field的Field還牢牢記者。我在AForm.Close時已將兩個AdoQuery關掉了,且將AdoQuery.SQL.Text還原及將DetailAdoQuery.DataSource設為NIL了,為何還會如此?我原以為是開MD時的順序會有影響,所以我在BForm時有試過先開M或先開D,結果都沒有用。試了好幾天了,請各位前輩幫忙解惑一下。謝謝。

編輯記錄
limary 重新編輯於 2007-04-29 14:55:41, 註解 無‧
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-29 22:28:15 IP:61.219.xxx.xxx 訂閱
我猜你應該是將AdoQuery照一般慣習放在dataModule中,除了Close及將DataSource設為NIL外尚要在DetailAdoQuery.Open前下一下之指令:
for II := 0 to AdoQuerya.Parameters.Count -1 do
begin
if AdoQuerya.Parameters.Items[II].DataType = ftunKnown then
AdoQuerya.parameters.items[II].DataType := ftString ;
end ;

這與開M或D的次序無關。
------
Kevin
limary
初階會員


發表:41
回覆:109
積分:30
註冊:2007-01-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-02 19:38:20 IP:61.219.xxx.xxx 訂閱
謝謝幫忙
系統時間:2024-05-18 21:24:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!