請教有關DataModule的問題 |
答題得分者是:T.J.B
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 那StoredProc、Updatesql元件是否也是放在DataModule上ㄋ??插花~! 使用DATAMODULE會有一個問題(在DELPHI7不知是否有改善) 如果你的FORM有引用DATAMODULE的欄位, 如 DBEDIT, DBCOMBOBOX...等資料感知元件, 當你在開啟這個專案的FORM時, 如果未先開啟此FORM所需要的DATAMODULE程式, 而直接先開啟FORM, 同時顯示在螢幕後, 你可以發現在這些資料感知元件的 PROPERITY的DATASOURCE會變成空白, 如果你再執行存入那就會造成該FORM的DATASOURCE消失, 雖然重新再設定就好了, 但是我有一個經驗就是我的FORM放了一百多個感知元件, 重新指回DATAMODULE累死人! |
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: 使用DATAMODULE會有一個問題(在DELPHI7不知是否有改善) 如果你的FORM有引用DATAMODULE的欄位, 如 DBEDIT, DBCOMBOBOX...等資料感知元件, 當你在開啟這個專案的FORM時, 如果未先開啟此FORM所需要的DATAMODULE程式, 而直接先開啟FORM, 同時顯示在螢幕後, 你可以發現在這些資料感知元件的 PROPERITY的DATASOURCE會變成空白, 如果你再執行存入那就會造成該FORM的DATASOURCE消失, 雖然重新再設定就好了, 但是我有一個經驗就是我的FORM放了一百多個感知元件, 重新指回DATAMODULE累死人!我想 D7 是不會改這個問題吧! 基本上這是看法上的問題, 我有一個朋友是用 VB 的, 開一個 Project 要 10 分鐘左右, 因為 VB 會將所有的 Form 全部開啟. Delphi 為了避免此問題, 只開起您指定的 Form, 但是卻會發生您說的問題. 如果已經存檔請自己將 .~pas 及 .~dfm 備份檔(Delphi 會自動備份存檔前的程式) rename 回來即可. 不過最好養成先將所有的 DATAMODULE 開啟的習慣. 如果怕麻煩每次都要開啟那多 Form 可以設定 Tools -> Environment Options -> Project Desktop 勾選, 每次進 Delphi 後就會自動開啟您前次 Editing Project and Form. 但是這樣設定後 Delphi 有時會看不到 IDE (不是常發生), 這時只要將 C:\Program Files\Borland\Delphi5\Bin\delphi32.dsk 刪除, 再進 Delphi 即可.
------
將問題盡快結案也是一種禮貌! |
frankiech
中階會員 發表:7 回覆:78 積分:52 註冊:2002-08-29 發送簡訊給我 |
引言: 插花~! 使用DATAMODULE會有一個問題(在DELPHI7不知是否有改善) 如果你的FORM有引用DATAMODULE的欄位, 如 DBEDIT, DBCOMBOBOX...等資料感知元件, 當你在開啟這個專案的FORM時, 如果未先開啟此FORM所需要的DATAMODULE程式, 而直接先開啟FORM, 同時顯示在螢幕後, 你可以發現在這些資料感知元件的 PROPERITY的DATASOURCE會變成空白, 如果你再執行存入那就會造成該FORM的DATASOURCE消失, 雖然重新再設定就好了, 但是我有一個經驗就是我的FORM放了一百多個感知元件, 重新指回DATAMODULE累死人!會嗎?我好像沒發生過. 不過,我習慣是先在 Project/Options 的Auto-Create Forms 將DataModule的Form第一個Create起來. |
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 小弟還有另一個問題請教, 小弟的程式中每一支程式都會用到DataModule的3個ADOConnection,DataModule會是auto create form ,請問一般ADOConnection的connectionstring和connected屬性會寫在DataModule oncreate會比較好,還是寫在其他的執行程式中ㄋ??依個人意見 connectionstring 當然是寫在 datamodule上最好, 因為 string的內容並不會改變(除非你的程式有設定針對不同使用者進行登錄不同的權限使用data), 至於 connected則不一定, 因為當你連上後系統就會產生一些連接節點, 如果資料的IO不是那麼頻繁, 建議你需要時再connect, 但如果你的程式在一開始create出來後, 就希望一直保持在 open的狀況下, 準備隨時要進行IO的話, 那就寫在DATAMOUDLE吧! 不過我的經驗, OPEN行為儘量不要做在DATAMODULE上, 但不表示說寫在那裡不好, 這是個人的意見啦! |
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
感謝前輩提供意見````
小弟的程式是Client/Server的架構
如果DataModule中若有3個TADOConnection,connectionstring 和connected都是在DataModule create時就已經與資料庫連結了,我的程式要一直保持與資料庫連結,但是所有個程式共用一個DataModule,所產生的user connections 的數量也會隨著程式開啟的數量倍增??
開一支程式就有3個connection~~~~一直倍增下去還得了??
請問有其他方式ㄇ??
|
frankiech
中階會員 發表:7 回覆:78 積分:52 註冊:2002-08-29 發送簡訊給我 |
引言: 感謝前輩提供意見```` 小弟的程式是Client/Server的架構 如果DataModule中若有3個TADOConnection,connectionstring 和connected都是在DataModule create時就已經與資料庫連結了,我的程式要一直保持與資料庫連結,但是所有個程式共用一個DataModule,所產生的user connections 的數量也會隨著程式開啟的數量倍增?? 開一支程式就有3個connection~~~~一直倍增下去還得了?? 請問有其他方式ㄇ??改成3層式的架構應該就沒這個問題了. |
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
E003
一般會員 發表:0 回覆:2 積分:0 註冊:2002-10-31 發送簡訊給我 |
|
E003
一般會員 發表:0 回覆:2 積分:0 註冊:2002-10-31 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |