全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1815
推到 Plurk!
推到 Facebook!

連資料庫的function要如何設計,才容易reuse???

答題得分者是:Stallion
jackiemi2_seed
中階會員


發表:37
回覆:97
積分:76
註冊:2006-09-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-12 21:56:23 IP:59.104.xxx.xxx 訂閱
可以把function寫在一個xxx.pas中,
然後uses xxx
如附檔之uses_test.pas

如果function有連資料庫,如附檔之Button3,
要如何設計,才比較方便reuse???

目前的作法是在每一個project新增一個相同的function,
感覺很不方便

------
OS : Win 7 pro
Program : Delphi 7
DataBase : Ms Sql 2008
附加檔案:466ea607b3acf_問題.rar
編輯記錄
jackiemi2_seed 重新編輯於 2007-06-13 22:22:32, 註解 無‧
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-12 22:02:46 IP:211.22.xxx.xxx 未訂閱
如果程式很大,很多表單都要運用到ADO物件,那麼應該將所有的ADO物件放在一個DataModule裡面,並且最好在所有表單之前Create起來(可以手動調整Project Source),那麼之後各個表單只要Uses那個DataModule即可,運用之妙存乎於心。
還有你程式中動態Create的Query是多餘的,你的主FORM中不是已經放了一個Query了嗎?建議考慮使用上面的方法。
bruce
中階會員


發表:19
回覆:121
積分:83
註冊:2002-04-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-13 08:32:45 IP:211.21.xxx.xxx 訂閱
補充說明:建議增加一個參數,傳入一個TDataset,如此資料物件即可與function分離。
jackiemi2_seed
中階會員


發表:37
回覆:97
積分:76
註冊:2006-09-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-06-13 22:23:11 IP:59.104.xxx.xxx 訂閱
DataModule沒用過,
看下面網頁的附加檔案
http://delphi.ktop.com.tw/board.php?cid=17&fid=115&tid=3861
改了一下程式,大概可以解決問題了
第一次用DataModule,不知這樣的寫法好不好...
附加檔案已更新為修改過後的(用DataModule)
-------------------------
小弟先說明一下目前公司的程式架構
目前公司主要有二個系統
一個是ms sql delphi 7.0(以下稱為A系統)
一個是sybase powerbuild(以下稱為ERP系統)

A系統常常要去ERP系統捉一些資料作結合,
例去用料號去捉料品名稱.規格,
用客戶代號捉客戶名稱..等
所以想找一個可以resue的方法,解決問題...

照小弟附件的DataMOdule用法,感覺應可以解決一部份的問題
目前A系統的架構是一個main.exe登入程式,
輸入帳號密碼後會出現有權限程式的樹狀檔名
如:
xxxx系統
xxx001.exe 程式名稱
xxx002.exe 程式名稱
yyyy系統
yyy001.exe 程式名稱
yyy002.exe 程式名稱

連點二下樹狀裡的資料,會用ShellExecute開啟一個.exe執行檔,
並帶入資料庫ip,資料庫名稱,帳號,密碼(執行檔的連線方式在test專案的TForm1.FormCreate)
照小弟附件的DataMOdule用法,DataMOdule裡的資料庫ip,及資料庫名稱是寫死的..
要怎麼改成活的呢????



------
OS : Win 7 pro
Program : Delphi 7
DataBase : Ms Sql 2008
編輯記錄
jackiemi2_seed 重新編輯於 2007-06-13 22:24:55, 註解 無‧
mike0518
一般會員


發表:1
回覆:12
積分:7
註冊:2002-07-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-06-15 17:01:01 IP:60.28.xxx.xxx 訂閱
if your system is Client-server  , then let DataModule out ...
I think you should Dynamic create a DB Pool to some one DB you want to connect ...
and ... It change Connection String easier for u ....
jackiemi2_seed
中階會員


發表:37
回覆:97
積分:76
註冊:2006-09-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-06-17 11:30:30 IP:210.64.xxx.xxx 訂閱
感謝各位前輩的幫忙..
小弟已改用dll去測試了..
在測試時有一些小問題,
請各位前輩有空再幫小弟看一下程式
http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=89068
感恩
------
OS : Win 7 pro
Program : Delphi 7
DataBase : Ms Sql 2008
系統時間:2024-05-02 13:15:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!