C++ Builder 資料庫程式設計 人事薪資系統實作 陳惟彬著 |
不論如何,開始了我進入兩層架構的階段。
dbExpress Component + TDataSetProvider + TClientDataSet,每每在設計程式介面時,都不覺得麻煩,總覺得dbExpress怎麼能做到這麼多畫面的變化,現在回想起來還覺得好笑,那是Data Aware Components,並不是dbExpress限定的。
當時的MySQL已經進入5.x的版本,4.0顯得已經落後許多,接著開始嚐到dbExpress Driver的惡夢,各家的Driver對於MySQL版本的支援度都不相同,幾經嚐試,都快要放棄對它的使用。
後來找到「Just Software Solutions DbExpress drivers for MySQL V5.0」
BCB6也支援的dbExpress Driver 圖片來源:Just Software Solutions DbExpress Drivers for MySQL V5.0 |
Interbase V6.0資料庫 圖片來源:Borland |
在練習一陣子後,意外地發現有個可以替代Paradox,而且還能商業應用的資料庫服務:Firebird,更重要的是,dbExpress Driver是針對Firebird孿生兄弟--Interbase V6.0而設計,對於Firebird也發揮了百分之百的相容性。
Firebird資料庫 圖片來源:Firebird官方網站 |
了解Firebird和Interbase的關係後,便花了好長一段時間在BDE轉化為DBX的資料連結元件上,了解到更換升級並不是想像中這麼困難。
而關鍵的TClientDataSet也能順利和其它三方元件(如:QuickReport、Indy等)一同工作,在這個階段也算是我在DataSnap上完成了初步學習,只是當時還是傻傻地不明白為什麼寫個程式原來是這樣麻煩的道理。
就在整個專案導入了dbExpress之後,卻發生了下一件事情。
「客戶想要Web版。」