使用ADODB的構建發展理念
ADODB 是 Active Data Objects Data Base 的簡稱,它是一種 PHP 存取數據庫的中間函式組件,可以先檢查一下你程序中的字符串,暫時把他們置為””,試試看。沒準就是他引起的問題啊。
雖然 PHP 是建構 Web 系統強有力的工具,但是 PHP 存取數據庫的功能,一直未能標準化,每一種數據庫,都使用另一種不同且不兼容的應用程序接口(API)。為了填補這個缺憾,因此才有 ADODB 的出現。一旦存取數據庫的接口予以標準化,就能隱藏各種數據庫的差異,若欲轉換至其它不同的數據庫,將變得十分容易。
目前 ADODB***版本是V4.62,支持的數據庫種類非常地多,例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, Access, ADODB, Sybase, DB2 以及一般的 ODBC (其中 PostgreSQL、Informix、Sybase 的driver 是由自由軟件社群發展之后貢獻出來的)。
使用 ADODB ***的優點之一是:不管后端數據庫如何,存取數據庫的方式都是一致的,開發設計人員不必為了某一套數據庫,而必須再學習另一套不同的存取方法,這大大減輕開發人員的知識負擔,過去的知識往后仍可繼續使用,轉移數據庫平臺時,程序代碼也不必做太大的更動。
其實 ADODB 這樣的發展理念,并不是首創的,DBI 比 ADODB 出現得更早,它提供 Perl 存取數據庫時,使用一致的 API 呼叫接口。相信用過 Perl + DBI 的朋友,再來用 ADODB 時,會有一種似曾相識的感覺。#t#
使用DataSet的另一個好處是它能被繼承用于建立強類型的DataSet。強類型DataSet的好處包括設計時的檢查和強類型DataSet 的Visual Studio .NET語句填充。當你為DataSet固定了大綱或關系結構時,就能建立強類型DataSet,把行和列作為對象的屬性而不是項的集合。
例如,作為暴露顧客表的某一行的列名的代替,你可以暴露Customer對象的 Name屬性。強類型的ADODB衍生自DataSet類,因此不會犧牲DataSet的任何功能,也就是說,強類型的DataSet也可以是遠程的,并作為數據綁定控件(例如DataGrid)的數據源提供。如果不知道大綱,也能通過使用通常的DataSet獲得好處,但是喪失了強類型DataSet的附加特性。