多Form使用到不同Master-Detail關聯的問題 |
答題得分者是:kevin2004
|
limary
初階會員 ![]() ![]() 發表:41 回覆:109 積分:30 註冊:2007-01-11 發送簡訊給我 |
請教各位前輩:
小妹最近遇到一個問題,試了好幾天都試不出來,可否請各位前輩幫忙一下。 我是在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 發送簡訊給我 |
我猜你應該是將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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |