新聞中心
此文章主要講述的是SQL Server mfc 數(shù)據(jù)庫(kù)類, 我們大家都知道自從 1.5 版之后,mfc 數(shù)據(jù)庫(kù)類中就已經(jīng)包含了odbc 數(shù)據(jù)庫(kù)類。visual c++ 2.0 版提供了含有相同類的 32 位版本。這些類基于一個(gè)工業(yè)認(rèn)可標(biāo)準(zhǔn),并已得到廣泛應(yīng)用。

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


咨詢
建站咨詢
