一種新型的數(shù)據(jù)庫訪問框架的制作方法
【專利摘要】本發(fā)明設(shè)計(jì)一種新型的數(shù)據(jù)庫訪問框架,屬于軟件工程領(lǐng)域。其特征在于:提供統(tǒng)一的應(yīng)用程序接口給程序員調(diào)用,程序員無需了解底層復(fù)雜的數(shù)據(jù)訪問實(shí)現(xiàn)模式;通過自主設(shè)計(jì)的高級(jí)算法,使程序員只需簡單的代碼調(diào)用就可以實(shí)現(xiàn)刪除、新增、更新、查詢等數(shù)據(jù)庫操作;基于微軟ADO-NET的底層編碼技術(shù)來進(jìn)行搭建和擴(kuò)展,支持所有主流的數(shù)據(jù)庫。本發(fā)明可以大大提高程序員的開發(fā)效率,提高程序員的編程質(zhì)量。
【專利說明】一種新型的數(shù)據(jù)庫訪問框架
【技術(shù)領(lǐng)域】
[0001]本發(fā)明設(shè)計(jì)一種新型的數(shù)據(jù)庫訪問框架,屬于軟件工程領(lǐng)域。
【背景技術(shù)】
[0002]隨著信息化時(shí)代的不斷深入,信息處理和信息共享變得越來越重要,數(shù)據(jù)訪問技術(shù)對于信息系統(tǒng)也就顯得尤為重要。在應(yīng)用程序開發(fā)過程中,通常都需要某種形式的數(shù)據(jù)訪問,從功能簡單的數(shù)據(jù)庫(如Jet Engine)到復(fù)雜的大型數(shù)據(jù)庫系統(tǒng)(如Oracle)。VC++.Net的環(huán)境中提供了 6種訪問數(shù)據(jù)庫的技術(shù),分別為0DBC、MFC ODBC,DAO,OLE DB、ADO和AD0.NET。這6種訪問數(shù)據(jù)庫的方法各有優(yōu)缺點(diǎn),對于不同的情況采用不同的訪問方法。
[0003]ODBC的優(yōu)點(diǎn)是它的使用比較簡單,只要登錄Windows控制面板中的“數(shù)據(jù)源”,就可以使ODBC鏈接到相應(yīng)的數(shù)據(jù)庫。但是使用ODBC訪問數(shù)據(jù)庫速度較慢,同時(shí)ODBC的使用需要很多相應(yīng)的部件支持,這使得從一個(gè)系統(tǒng)移植到另一個(gè)系統(tǒng)時(shí),不但要重新注冊數(shù)據(jù)源,而且要移動(dòng)很多部件。由于ODBC只能用于關(guān)系數(shù)據(jù)庫,使得利用ODBC很難訪問對象數(shù)據(jù)庫及其他非關(guān)系數(shù)據(jù)庫。
[0004]DAO克服了 ODBC的一些缺陷,能夠存取xBase的數(shù)據(jù)庫以及Excel文件,并且能夠結(jié)合ODBC存取關(guān)系數(shù)據(jù)庫,但是畢竟DAO的主要設(shè)計(jì)目的是存取Access數(shù)據(jù)庫,因此DAO在存取Access數(shù)據(jù)庫時(shí)非常有效率,但是在存取其他得數(shù)據(jù)源時(shí)卻表現(xiàn)得不怎么好。
[0005]OLE DB提供的接口相當(dāng)通用,足以提供一種訪問數(shù)據(jù)庫的統(tǒng)一手段,而不需要考慮數(shù)據(jù)存儲(chǔ)類型。OLE DB技術(shù)允許訪問各種數(shù)據(jù)源,速度和效率均優(yōu)于ODBC和DA0,但是OLE DB屬于底層接口,技術(shù)比較復(fù)雜,要掌握這一技術(shù)有相當(dāng)?shù)碾y度。
[0006]與其它方法不同的是ADO對象可以直接創(chuàng)建,而不必嚴(yán)格遵循對象層次關(guān)系。ADO使用了 OLE DB提供者,它比DAO更適合于訪問多種類的數(shù)據(jù)。ADO也提供了 DAO的一些關(guān)鍵特征,并且還附加了成批更新支持、獨(dú)立對象創(chuàng)建和多線程支持等特征。與ODBC相比ADO適用的數(shù)據(jù)源的范圍要大得多,同時(shí)它還允許進(jìn)行批更新,這樣就大大減輕了網(wǎng)絡(luò)負(fù)擔(dān),提高數(shù)據(jù)庫處理效率。由于ADO缺乏大量的第三方廠商的支持,使得ADO目前遠(yuǎn)不如ODBC普及,但其面向?qū)ο蟮奶匦詫⑹笰DO具有比較廣闊的發(fā)展前景。
[0007]AD0.NET是全新的面向?qū)ο竽P?,不像以前的ADO版本是為了存取數(shù)據(jù)庫的目的而設(shè)計(jì)的。比ADO更適應(yīng)于分布式及Internet等大型應(yīng)用程序環(huán)境,且更具擴(kuò)展性,AD0.NET的數(shù)據(jù)存取采用的是離線存取模式,可說是專門為.NET平臺(tái)設(shè)計(jì)的數(shù)據(jù)存取結(jié)構(gòu),它具有支持OLE DB、離線存取、數(shù)據(jù)交換格式為XML的特點(diǎn)。它的對象可以讓我們快速簡單地存取各種數(shù)據(jù)。
[0008]本發(fā)明設(shè)計(jì)的數(shù)掘庫訪問框架是圍繞著AD0.NET的底層編碼技術(shù)來進(jìn)行搭建和擴(kuò)展的,在其中增加了自主設(shè)計(jì)的高級(jí)算法,程序員只需通過編寫少量的代碼就可以實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫的增加、刪除、修改、查詢等操作。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的目的在于為軟件開發(fā)中數(shù)據(jù)庫的訪問提供一套簡潔、可靠、高效的框架。
[0010]本發(fā)明公開一種新型的數(shù)據(jù)庫訪問框架,其特征在于:包括數(shù)據(jù)查詢過程,數(shù)據(jù)更新過程、數(shù)據(jù)命名規(guī)則、多型數(shù)據(jù)庫同時(shí)操作。
[0011]數(shù)據(jù)查詢過程通過調(diào)用數(shù)據(jù)庫的存儲(chǔ)過程來返回查詢結(jié)果到數(shù)據(jù)集合中。
[0012]數(shù)據(jù)更新過程通過傳入的數(shù)據(jù)表中的每條記錄狀態(tài)來決定是做添加、更新、刪除操作或者是這些操作的組合,在決定操作類型后,數(shù)據(jù)訪問框架會(huì)智能偵測對應(yīng)的存儲(chǔ)過程并進(jìn)行相關(guān)調(diào)用。
[0013]數(shù)據(jù)命名規(guī)則通過存儲(chǔ)過程名字和存儲(chǔ)過程參數(shù)來建立一系列依賴和匹配關(guān)系,為數(shù)據(jù)命名提供信息。
[0014]多型數(shù)據(jù)庫同時(shí)操作通過切換配置文件和調(diào)用簡單的API函數(shù)實(shí)現(xiàn)。
[0015]本發(fā)明公開的訪問框架的優(yōu)點(diǎn)描述如下:
[0016](I)經(jīng)濟(jì)性。山于本發(fā)明通過自主設(shè)計(jì)的高級(jí)算法,簡化了對關(guān)系數(shù)據(jù)庫的操作,大大提高了程序員的開發(fā)效率,使同樣任務(wù)的開發(fā)成本比采用傳統(tǒng)方法節(jié)省了 20%左右。
[0017](2)簡易性。本發(fā)明為數(shù)據(jù)庫開發(fā)提供了改進(jìn)的API函數(shù),程序員只需編寫少量的代碼就可以實(shí)現(xiàn)關(guān)系數(shù)掘庫的增加、刪除、修改、查詢等操作。
[0018](3)可靠性。本發(fā)明基于AD0.NET的底層編碼技術(shù)來進(jìn)行搭建和擴(kuò)展的,經(jīng)過了充分的測試,可以很好保證新型數(shù)據(jù)庫訪問框架的可靠性。
【具體實(shí)施方式】
[0019]本發(fā)明旨在為軟件開發(fā)中數(shù)據(jù)庫的訪問提供一套簡潔、可靠、高效的框架。
[0020]數(shù)據(jù)查詢過程基于調(diào)用數(shù)據(jù)庫的存儲(chǔ)過程來返回查詢結(jié)果到數(shù)據(jù)集合中。
[0021]示例調(diào)用代碼如下:
[0022]
//根據(jù)id=’ 12’來獲取該用戶的記錄信息
DataTable dt = new DataTable ();
DataAccessHelper helper = new DataAccessHelper();
helper.LoadData(“P_GET—USER—INFO”,“12”);
//獲取所有的用戶記錄和角色信息
DataSet ds = new DataS et();
DataAccessHelper helper = new DataAccessHelper();
helper.LoadData(ds, “P—GET USERJNFO”);
//根據(jù)id=’12’來獲取該用戶的名字
string name = helper.ExecuteScalar (“P—GET—USOl—INFO”, “12”);
[0023]數(shù)據(jù)更新過程通過傳入的數(shù)據(jù)表中的每條記錄狀態(tài)來決定是做添加、更新、刪除操作或者是這些操作的組合,在決定操作類型后 ,數(shù)據(jù)訪問框架會(huì)智能偵測對應(yīng)的存儲(chǔ)過程并進(jìn)行相關(guān)調(diào)用。[0024]示例調(diào)用代碼如下:
[0025]
【權(quán)利要求】
1.一種新型的數(shù)據(jù)庫訪問框架,其特征在于:包括數(shù)據(jù)查詢過程,數(shù)據(jù)更新過程、數(shù)據(jù)命名規(guī)則、多型數(shù)據(jù)庫同時(shí)操作。
2.根據(jù)權(quán)利要求1所述的新型的數(shù)據(jù)庫訪問框架,其特征在于:所述數(shù)據(jù)查詢過程通過調(diào)用數(shù)據(jù)庫的存儲(chǔ)過程來返回查詢結(jié)果到數(shù)據(jù)集合中。
3.根據(jù)權(quán)利要求1所述的新型的數(shù)據(jù)庫訪問框架,其特征在于:所述數(shù)據(jù)更新過程通過傳入的數(shù)據(jù)表中的每條記錄狀態(tài)來決定是做添加、更新、刪除操作或者是這些操作的組合,在決定操作類型后,數(shù)據(jù)訪問框架會(huì)智能偵測對應(yīng)的存儲(chǔ)過程并進(jìn)行相關(guān)調(diào)用。
4.根據(jù)權(quán)利要求1所述的新型的數(shù)據(jù)庫訪問框架,其特征在于:所述數(shù)據(jù)命名規(guī)則通過存儲(chǔ)過程名字和存儲(chǔ)過程參數(shù)來建立一系列依賴和匹配關(guān)系,為數(shù)據(jù)命名提供信息。
5.根據(jù)權(quán)利要求1所述的新型的數(shù)據(jù)庫訪問框架,其特征在于:所述多型數(shù)據(jù)庫同時(shí)操作通過切換配置文件和調(diào)用簡單的API函數(shù)實(shí)現(xiàn)。
【文檔編號(hào)】G06F17/30GK103793431SQ201210430397
【公開日】2014年5月14日 申請日期:2012年11月2日 優(yōu)先權(quán)日:2012年11月2日
【發(fā)明者】王志勝, 周洪海 申請人:王志勝, 周洪海