2015/02/26

新奇的技術 -- dbExpress

在 Paradox 玩了一段時間之後,便開始挑戰大系統的實作,接著便入手了這本書--「C++ Builder資料庫程式設計-人事薪資系統實作」
C++ Builder 資料庫程式設計 人事薪資系統實作  陳惟彬著
開始了解BDE以外的資料庫連結方式,在當時天真的以為dbExpress就是資料庫程式設計的全部。

不論如何,開始了我進入兩層架構的階段。

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
(https://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html),這位開發者真是佛心來的,免費開放給Delphi / C++ Builder的開發者使用,C++ Builder 6和MySQL 5.0.51a也能搭配得相當愉快。
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版。」


沒有留言:

張貼留言