摘要: 在VB.NET平臺下的數(shù)據(jù)庫訪問技術(shù)有很多,利用哪種訪問數(shù)據(jù)庫,要具體問題具體分析。本文探討了VB.NET對數(shù)據(jù)庫的支持,并且討論了VB.NET對數(shù)據(jù)庫訪問的幾種方法。
關(guān)鍵詞: Visual Basic.NET;數(shù)據(jù)訪問技術(shù);ADO;ADO.NET
Visual Studio.NET是一套完整的開發(fā)工具,除了生成高性能的桌面應(yīng)用程序和移動應(yīng)用程序外,還可以用于生成ASP Web應(yīng)用程序、XML Web services以及基于組件的強大開發(fā)工具和其他技術(shù)。Visual Basic.NET作為Visual Studio.NET開發(fā)工具中的優(yōu)秀一員,與其他Visual Studio.NET成員使用相同的集成開發(fā)環(huán)境(IDE)。Microsoft Visual Basic.NET 是Microsoft Visual Basic的更新版本,它基于.NET的框架結(jié)構(gòu),能使用戶非常容易地創(chuàng)建Microsoft Windows操作系統(tǒng)和網(wǎng)絡(luò)的應(yīng)用程序。 使用Visual Basic.NET,可以快速地實現(xiàn)可視化開發(fā)網(wǎng)絡(luò)應(yīng)用程序、網(wǎng)絡(luò)服務(wù)、Windows 應(yīng)用程序和服務(wù)器端組件。
一、數(shù)據(jù)訪問接口
大多數(shù)應(yīng)用程序都需要某種形式的數(shù)據(jù)訪問。如果要創(chuàng)建新的應(yīng)用程序,有三種極好的數(shù)據(jù)訪問方式可供選擇:ADO.NET、ADO和OLE DB。
1、OLE DB是用于訪問數(shù)據(jù)的重要的系統(tǒng)級編程接口,它是ADO的基礎(chǔ)技術(shù),同時還是ADO.NET的數(shù)據(jù)源。
2、ADO 對于用本機代碼編寫的應(yīng)用程序,ADO為OLE DB數(shù)據(jù)接口提供基于COM的應(yīng)用程序級別接口。
3、ADO.NET是一組向.NET程序員公開的類。ADO.NET為創(chuàng)建分布式數(shù)據(jù)共享應(yīng)用程序提供了一組豐富的組件。
二、Visual Basic.NET中的主要數(shù)據(jù)訪問技術(shù)比較
在Visual Basic.NET中雖然還提供了對遠(yuǎn)程數(shù)據(jù)對象(RDO)和數(shù)據(jù)訪問對象(DAO)的向后兼容性支持,但Visual Basic.NET中僅僅以COM對象形式支持這些技術(shù),無法將使用RDO或DAO數(shù)據(jù)綁定的應(yīng)用程序升級到Visual Basic.NET,故RDO和DAO已經(jīng)退出了數(shù)據(jù)訪問技術(shù)的行列。
1、選擇OLE DB
如果選擇直接寫入OLE DB,則必須與使用更方便的數(shù)據(jù)訪問方法(如ADO.NET或ADO)相對照來對該選擇進行評估。影響你決定使用OLE DB的COM級別數(shù)據(jù)訪問的因素包括:性能、功能、維護、開發(fā)人員技能以及語言。
2、選擇ADO.NET或ADO
ADO.NET和ADO都具有以下特點:易于編程、與語言無關(guān)、實現(xiàn)過程簡單、使用最小網(wǎng)絡(luò)流量、應(yīng)用程序前端和數(shù)據(jù)源之間需要的層數(shù)很少。兩種方法都可以提供高性能的數(shù)據(jù)訪問。
無論選擇這兩種數(shù)據(jù)訪問技術(shù)中的哪一種,都會影響應(yīng)用程序的設(shè)計、擴展性、互操作性、易于維護性以及其他許多方面。ADO.NET不僅僅是ADO的新版本,二者的對象模型也不盡相同,并且二者的數(shù)據(jù)處理方式也完全不一樣
三、新一代數(shù)據(jù)訪問技術(shù)ADO.NET
Visual Basic.NET提供了對新一代數(shù)據(jù)訪問技術(shù)ADO.NET的支持。ADO.NET提供了對Microsoft SQL Server等數(shù)據(jù)源以及通過OLE DB和XML公開的數(shù)據(jù)源的一致訪問。數(shù)據(jù)共享使用者可以使用ADO.NET來連接到這些數(shù)據(jù)源,并檢索、操作和更新數(shù)據(jù)。ADO.NET可以通過 The SQL Server .NET Data Provider和 The OLE DB .NET Data Provider 。這兩種不同的方式訪問數(shù)據(jù)。與之對應(yīng)的有兩套不同的對象模型,分別定義在System.Data.Sql-Client命名空間和System.Data.OLE DB空間。另外,這兩個命名空間中對象的基類定義在System.Data命名空間中,而這兩個DataProvider共同使用的類定義在System.Data.Common命名空間中。在ADO.NET中訪問數(shù)據(jù)一般要經(jīng)過以下幾個步驟:
(1)建立數(shù)據(jù)庫連接。
(2)創(chuàng)建數(shù)據(jù)適配器。
(3)將數(shù)據(jù)暫存在DataSet中。
(4)關(guān)閉連接。
(5)針對DataSet進行數(shù)據(jù)操作。
四、結(jié)束語
與以前的ADO相比,ADO.NET有很大的變化,其中最重要的差別就是底層的數(shù)據(jù)交換方式不同,另一個不同就是ADO.NET是以離線的數(shù)據(jù)為基礎(chǔ)的,由此減少了對數(shù)據(jù)庫的連接時間,提高了訪問效率。正是由于上述兩點的差別,使ADO.NET在使用上較之以前版本更加靈活,功能更加強大,尤其適合開發(fā)網(wǎng)絡(luò)應(yīng)用程序。
參考文獻:
[1]程曉琳.Visual Basic.NET數(shù)據(jù)庫高級教程.北京:清華大學(xué)出版社,2004(7)
[2]劉保順. Visual Basic.NET數(shù)據(jù)庫開發(fā).北京:清華大學(xué)出版社,2004(3)