SQL Server mfc 數據庫類簡介
此文章主要講述的是SQL Server mfc 數據庫類, 我們大家都知道自從 1.5 版之后,mfc 數據庫類中就已經包含了odbc 數據庫類。visual c++ 2.0 版提供了含有相同類的 32 位版本。這些類基于一個工業認可標準,并已得到廣泛應用。
且因其 odbc 具有可移植性而受到其它數據庫開發選擇方案的青睞。這種可移植性是指能夠將許多 odbc 數據源與用這些類創建的應用程序一起使用。近來的性能改進使得 odbc 數據庫類成為一個吸引人的選擇方案。
在多數情況下,mfc 4.0 中的 dao 數據庫類允許您直接訪問桌面數據源而無須使用 odbc。dao 數據庫類所具有的同時打開多個數據庫類型的能力、使用多數據源的能力以及數據定義語言能力,使其成為重要的開發選擇方案。
現在,您已經準備好提出這個問題,自己應使用哪個數據庫類集合。如果您所提供的有關自己項目的信息不多,就很難確定這個問題的答案。但是,***件要考慮的事情是您使用什么數據源。如果您通常使用桌面數據,我們鼓勵您考慮SQL Server mfc dao 數據庫類,因為您將會發現它們極為有效且功能強大。
如果您主要使用 odbc(基于服務器)的數據,則使用基于 odbc 的類會使您項目的進展更富成效。
其它考慮事項包括網絡種類、可伸縮性要求,以及速度是否是最重要的因素。***是用您認為工作得***的數據庫類集讓應用程序保持原型。可以進行一些基準測試,以確定您的***性能選擇。
真正的決定權在您
您可用來創建數據庫應用程序的選項集合很大。它實際是完整的一系列選項,一端是桌面數據庫應用程序,另一端是嚴格的客戶/服務器數據庫應用程序。僅有的兩種看似明顯的選擇可能是:在 microsoft access 97 mdb 數據中使用 SQL Server mfc dao 數據庫類,而在 microsoft sql server ™ 6.5 中使用 mfc odbc 數據庫類。這兩種組合主要是互相配合使用的,均非常有效。但您可能已對這些選擇有所了解,其它情況又該如何呢?
簡要地說,以下是您賴以決策的過程:
確定數據源需求
您需要的數據庫有多大? 一次會有多人需要訪問數據嗎? 有時,其余的大多數步驟均取決于您選擇的數據源。
確定接口需求
如果您需要的接口有大量的用戶輸入(如用戶可以設計自己的查詢),那么在調整和分發數據庫(一個或多個)時就必須要慎重。例如,如果需要用變化不大的數據填充列表框,并且已選擇基于服務器的數據源,則將通常不變化的數據存儲在本地而非服務器上,是一種有意義的做法。
確定連接性需求
目前使用的網絡協議有很多種,每種協議都對通過網絡傳送的數據各有不同影響。關于網絡的討論不是本白皮書份內之事,但您需要了解如何優化自己的數據庫應用程序,以避免遇到網絡的數據陷阱。
選擇適當的工具(一個或多個)
microsoft 為數據庫開發人員提供了多種可選擇的工具(microsoft access、visual basic、visual basic enterprise、visual c++/mfc 以及 sql server),在某些情況下它們的功能略有重疊。本白皮書旨在討論 visual c++/mfc 選項。但如果您還未考慮其它選項,應該也對它們稍加了解。
在實施前保持原型
在本文中您將數次看到此陳述,因為它很重要。您可能已做了很好的選擇,但除非您的解決方案真的起了作用,否則工作就不算完成!
此外,關于本文,我們假設您想了解的是 SQL Server mfc 的數據庫類。我們不妨盡可能多地檢查一些選擇方案,以便您認可您想為自己的***個原型采用的指導。
類 crecordview 是一種 mfc 構造 - 一種顯示數據的形式。因為 crecordview 是基于 cformview 的,所以它具有該基礎類的所有遺傳功能。從本質上說,窗體視圖在窗口的客戶端區域伸展對話框模板。這使得添加控件與顯示字段數據極為容易。
當使用 appwizard 和 classwizard 創建基于 odbc 的數據庫應用程序時,記錄集的列會自動綁定到(靜態地)成員變量,這些變量可以隨后添加到對話框模板中。
一個 cdbexception 對象代表一種由數據庫類引起的異常錯誤條件。該類中含有兩個公共數據成員,可使用這兩個成員確定導致異常錯誤的原因,或顯示對異常錯誤進行說明的文本消息。cdbexception 對象由數據庫類的成員函數構造與拋出。
cfieldexchange 類支持由數據庫類使用的記錄字段交換 (rfx) 例程。如果您正在編寫自定義數據類型的數據交換例程,則使用該類;否則,您不會直接使用該類。rfx 在您記錄集對象的字段數據成員和數據源上當前記錄的相應字段之間交換數據。rfx 管理兩個方向中的交換,即來自數據源的交換與到數據源的交換。
在 dao 的本機格式中,包含 21 個對象和 20 個集合。而且,dao 不僅提供單個的對象,如表和字段,還提供對象所屬的集合。對象的這種清晰的層次結構使得能夠輕松地將面向對象的原理應用于數據庫開發。
dao 的存在已有一段時間。dao 1.0 版出現在 microsoft access 1.0 版中,它僅提供到表與查詢結構的接口,以及代表具有數量有限的屬性的表、動態集、快照的對象。visual basic 3.0 版中的 data access objects 1.0 添加了 tabledef、querydef 和 field 對象,以提供可編程的結構。
microsoft access 2.0 版中的 dao 2.0 版有 ole 自動化的雛形,以及對幾乎所有 microsoft jet 功能的全部編程訪問權限。它擁有具有可靠的對象與屬性集合的全部對象模型。
dao 2.5 版中含有 odbc 桌面數據庫驅動程序 (odbc desktop database driver),這些驅動程序是為 16 位平臺能與 odbc desktop database drivers 2.0 版一起使用而創建的。該 16 位版本是為用于 visual basic 4.0 版的 16 位版本而安裝的。
dao 3.0 版隨帶在 microsoft access for windows 95、visual basic 4.0 版(32 位)、microsoft excel 7.0 版 和 visual c ++ 4.0 版中。dao 得到了增強,以支持任何兼容主機的單機接口。
dao 3.5 版隨帶在 microsoft access for windows 97 中,并且含有新的 odbcdirect com 對象。SQL Server mfc dao 數據庫類不包括這些對象的類。
最為重要的是,dao 接口是基于 ole com 的,它很好地安置 dao 以適應不斷發展的技術和操作系統。
此處是 dao 層次結構圖表。在頂端,將看到 dbengine 對象,該對象中含有所有其它對象。這是唯一沒有集合的對象,因為您只能有一個引擎。但可以有多個工作區 (workspace)、數據庫 (database) 等等,這正是余下的對象都有自己所屬集合的原因。
在工作區中,可以有多個數據庫,一個基本表 (.mdb) 或一個附加/鏈接的表。在每個數據庫中將有一個或多個表、查詢、記錄集,而其中的每個表、查詢、記錄集不僅包含字段和(或)索引,還有其它類型的對象。
另外,與工作區連接的是用戶對象和組對象,它們形成了 dao 的安全模型。
獨立但與引擎對象連接的是 errors 對象。
errors 集合中對象的附加方式不同于其它 dao 集合。最詳細的錯誤放在集合的末尾,最常規的錯誤放在開頭。
【編輯推薦】
- SQL Server數據庫如何正確加密?
- SQL Server2005數據庫連接中易出現的錯誤列舉
- 實現SQL Server 2005中的模糊查找包并不難
- 實現SQL Server數據庫同步的準實時方案很簡單
- 如何加強SQL Server 2000 數據庫的網絡連接安全性?