數據訪問對象
![]() |
數據訪問對象DAO(DataAccessObjects)數據訪問對象是第一個面向對象的接口,它顯露了MicrosoftJet數據庫引擎(由MicrosoftAccess所使用),並允許VisualBasic開發者通過ODBC像直接連接到其他數據庫[1]一樣,直接連接到Access表。DAO最適用於單系統應用程序或小範圍本地分布使用。
簡介
DAO就是DatabaseAccess Objects,數據訪問對象的英文縮寫。在VB中提供了兩種與Jet數據庫引擎接口的方法:Data控件和數據訪問對象(DAO)。Data控件只給出有限的不需編程而能訪問現存數據庫的功能,而DAO模型則是全面控制數據庫的完整編程接口。Data控件將常用的DAO功能封裝在其中,它與DAO控件的關係就好像內存與CACHE之間的關係一樣,所以這兩種方法並不是互斥的,實際上,它們常同時使用。
DAO數據訪問對象(DataAccessObjects)是一種面向對象的界面接口。通過DAO/Jet功能可以訪問ISAM數據庫,使用DAO/ODBCDirect功能可以實現遠程RDO功能。使用DAO的程序編碼非常簡單,DAO提供豐富的游標(Cursor)類型的結果集和非游標(Cursor-Less)類型的結果集,同DDL(數據描述語言)的功能很類似。現在vb數據庫編程大都使用ADO,很少人還用DAO.
DAO是集合,對象,方法和屬性;它用對象集合來處理數據庫,表,視圖和索引等。使用DAO編程,可以訪問並操作數據庫,管理數據庫的對象和定義數據庫的結構等。
DAO模型是設計關係數據庫系統結構的對象類的集合。它們提供了完成管理一個關係型數據庫系統所需的全部操作的屬性和方法,這其中包括創建數據庫,定義表、字段和索引,建立表間的關係,定位和查詢數據庫等。
Visual Basic中的數據庫編程就是創建數據訪問對象,這些數據訪問對象對應於被訪問物理數據庫的不同部分,如數據庫、表、字段和索引等,同時用這些對象的屬性和方法來實現對數據庫的操作,以便在Visual Basic窗體中使用綁定和非綁定控件來顯示操作結果並接收用戶輸入。
識別數據庫
Visual Basic通過DAO和Jet引擎可以識別三類數據庫:
VisualBasic數據庫
也就是*.MDB數據庫
外部數據庫
它們是使用幾種流行格式的「索引順序訪問方法(ISAM)」數據庫,這些流行格式包括Btrieve、dBASEIII、dBASEIV、Microsoft FoxPro versions2.0和2.5以及Paradox versions 3.x和4.0。在Visual Basic中能夠創建和操作所有以上格式的數據庫。也可以訪問文本文件數據庫和Microsoft Excel或Lotus1-2-3電子表格。
ODBC數據庫
包括符合ODBC標準的客戶/服務器數據庫,如Microsoft SQL Server。要在Visual Basic中創建真正的客戶/服務器應用程序,可以使用ODBC Direct直接把命令傳遞給服務器[2]處理。也就是說Visual Basic還支持其它不使用Jet數據庫引擎的數據訪問方法。數據訪問對象的ODBC Direct模式允許使用同樣的對象模型和語法繞過Jet引擎直接訪問ODBC數據。
由上面的敘述可知,對於編程人員來講,你只須了解DAO的使用,對具體的數據庫系統無須做深入的探討,就可對幾乎任何一種數據庫進行操作,「以不便應萬變」,而對數據庫文件自身的物理操作,將由相應的數據庫引擎把數據訪問對象上的這些操作轉換為對數據庫文件自身的物理操作,這些引擎來處理所有與各種數據庫的接口。
結構
面向對象編程
大家對面向對象編程一定不陌生,但究竟什麼是面向對象編程,很多人一下子也說不出個所以然來;在VB的DAO中又是如何體現面向對象的呢,恐怕即便是使用了一段VB的網友也很難說清。這也難怪,VB本身並不是個完全的面向對象的編程環境,它的很多如動態數組等就不是面向對象的,但在DAO中是完全的面向對象的。其實面向對象的最初思想就是將數據和操作封裝在一起,形成對象,而在DAO中正是體現了這一點,它將數據的值作為屬性,數據的查詢作為方法,數據值的變化作為事件,完全封裝在DAO對象中,希望諸位盟友在使用中注意,逐步領悟面向對象的編程方法。
數據庫前端開發系統和後台系統
經常有朋友說他會DELPHI,會PB,實際上用前端和後台的概念來看,他們都只是會一種前端開發工具而已,嚴格說起來並不能算會數據庫的開發。人們往往只看到前台應用的功能而忽視了後台系統的應用,或者認為這兩者根本就是一回事。前端後台概念用在單機上,就是VB與Access,用在網絡中就是VB與SQL Sever,只會VB或DELPHI是不能稱為掌握數據庫編程的,而且在編程中,要善於利用後台數據庫提供功能,這樣的程序運行起來更快,程序更精練。
題外話講完,現在切入正題。DAO的結構如圖所示:
以上是DAO整體結構圖,下面將分章節逐步講述每個對象的使用。
參考文獻
- ↑ 細數常用數據庫有哪些 ,搜狐,2017-05-25
- ↑ 服務器是什麼?服務器的作用與用途 ,搜狐,2023-04-08