999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ADO.NET在連接環(huán)境下的數(shù)據(jù)存取

2008-12-31 00:00:00
電腦知識與技術(shù) 2008年17期

摘要:ADO.NET是微軟公司基于.NET框架而創(chuàng)建的通用數(shù)據(jù)訪問,是VB.NET數(shù)據(jù)庫應(yīng)用的核心部分。文章從ADO.NET技術(shù)入手,研究了VB.NET應(yīng)用程序在連接環(huán)境下的數(shù)據(jù)存取。

關(guān)鍵詞:ADO.NET;數(shù)據(jù)庫;VB.NET;存儲過程

中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)17-21387-02

1 ADO.NET數(shù)據(jù)訪問技術(shù)

通用數(shù)據(jù)訪問是用于訪問.NET數(shù)據(jù)提供程序的Microsoft策略,其目的是可以從計算機(jī)上的應(yīng)用程序中訪問數(shù)據(jù)源。在.NET框架中,這功能的實(shí)現(xiàn)由ADO.NET來完成,ADO(ActiveX對象,ActiveX Data Objects)是一種提供訪問各種數(shù)據(jù)類型的連接機(jī)制。

ADO.NET主要包含兩個核心組件:數(shù)據(jù)集(DataSet)和.NET數(shù)據(jù)提供程序。其中數(shù)據(jù)集與數(shù)據(jù)庫是完全切斷,而.NET數(shù)據(jù)提供程序和數(shù)據(jù)庫自然交互。ADO.NET的作用就是從數(shù)據(jù)操作中分解出數(shù)據(jù)訪問。在數(shù)據(jù)訪問中,ADO.NET對于客戶端與數(shù)據(jù)庫的允許環(huán)境,分為兩種:一是連接環(huán)境(Connected);二是非連接環(huán)境(Disconnected)。

ADO.NET中.NET的數(shù)據(jù)提供程序用于實(shí)現(xiàn)數(shù)據(jù)的訪問操作。數(shù)據(jù)集(DataSet)對象是用于ADO.NET非連接架構(gòu)下的主要對象,由數(shù)據(jù)適配器(DataAdapter)提供連接DataSet對象和數(shù)據(jù)源。

ADO.NET是Microsoft公司.NET框架結(jié)構(gòu)中的一個類,它在System.Data.dll文件中,并且與System.Xml.dll中的XML類集成。在編譯使用System.Data命名空間的代碼時,將引用System.Data.dll與System.Xml.dll。在編寫應(yīng)用程序中若要使用ADO.NET對象,必須使用:Imports System.Data語句。

2 連接環(huán)境下的數(shù)據(jù)存取

連接環(huán)境下對數(shù)據(jù)庫操作是指應(yīng)用程序始終與數(shù)據(jù)庫相連接,這種操作方式主要用于數(shù)據(jù)時常更新的環(huán)境,并且數(shù)據(jù)是只讀的。

2.1 連接環(huán)境下數(shù)據(jù)存取的基本步驟

在連接環(huán)境下數(shù)據(jù)的存取,主要是通過三步來實(shí)現(xiàn):一是用Connection對象實(shí)現(xiàn)與數(shù)據(jù)庫的連接開啟。Connection對象把數(shù)據(jù)連接的所有功能都包裝起來,連接時主要是設(shè)置其ConnectionString屬性與Open()方法來實(shí)現(xiàn);二是使用Command對象向數(shù)據(jù)庫索取所要操作的數(shù)據(jù)。執(zhí)行的命令信息(如:SQL語句、SQL存儲的過程名等)主要由CommandText屬性決定;三是使用DataReader對象的Read()方法來讀取數(shù)據(jù),或做其他存取;最后是使用Close()方法關(guān)閉連接的數(shù)據(jù)庫,以及Dispose()方法來釋放所占的內(nèi)存空間。

2.2 連接環(huán)境中的類與對象創(chuàng)建

連接環(huán)境下使用的類主要有四個:Connection類建立與指定數(shù)據(jù)源的連接;Command類實(shí)現(xiàn)對數(shù)據(jù)源執(zhí)行的命令;DataReader類從數(shù)據(jù)源中讀取單向只讀的數(shù)據(jù);DataAdapter類是數(shù)據(jù)庫和應(yīng)用程序之間的橋梁,既可執(zhí)行Command對象,從數(shù)據(jù)庫中檢索數(shù)據(jù),填充到DataSet對象中,又可使用DataSet對象插入、更新和刪除數(shù)據(jù)庫中的數(shù)據(jù)。

對象是類的實(shí)例化,對象的產(chǎn)生通常使用.NET提供的構(gòu)造函數(shù)。同一個類的構(gòu)造函數(shù)有多種形式,其共同點(diǎn)是使用關(guān)鍵字New來初始化參數(shù)。構(gòu)造函數(shù)的基本格式為式:Public Sub New([參數(shù)列]),根據(jù)參數(shù)的有無,或多少形成構(gòu)造函數(shù)的多種格式。

在連接環(huán)境下的四個類中,特別要注意的是DataReader對象的產(chǎn)生不是通過構(gòu)造函數(shù)來實(shí)現(xiàn),而是先調(diào)用Command對象的ExeucuteReader()方法,再由ExeucuteReader()方法創(chuàng)建一個DataReader對象,最后由DataReader對象的Read()方法通過Connection對象從數(shù)據(jù)源獲取一個或多個結(jié)果集。Read()方法返回的是一個布爾值,編寫代碼時根據(jù)Read()的值來判斷記錄指針是否移到文件的末尾,每調(diào)用一次Read()方法可獲取一行數(shù)據(jù)記錄。

3 連接環(huán)境下數(shù)據(jù)存取應(yīng)用

連接環(huán)境下數(shù)據(jù)的存取有多種方式,常用的方式有兩種:一是使用數(shù)據(jù)閱讀器(DataReader)對象;二是使用存儲過程。

3.1 利用DataReader對象實(shí)現(xiàn)數(shù)據(jù)的讀取

(1)讀取數(shù)據(jù)。下面代碼段是基于VB.NET實(shí)現(xiàn)從“學(xué)生信息”表中分別讀取性別為“男”或“女”的學(xué)生基本信息,并將結(jié)果顯示到對應(yīng)文本框的過程:

Dim sCom As New SqlCommand'建立SqlCommand對象

sCom.Connection = sCon

'將兩條Select語句賦給CommandText屬性

sCom.CommandText = \"Select *From 學(xué)生信息 where 性別 ='男';\" _

\"Select *From 學(xué)生信息 where 性別 ='女';\"

Dim myReader As SqlDataReader= sCom.ExecuteReader

While myReader.Read '順序處理各個結(jié)果集

For I = 0 To myReader.FieldCount - 1

strInfo += myReader.GetName(I) \":\" myReader.Item(I) vbCrLf

Next

End While

TxtMan.Text = strInfo

myReader.NextResult()

strInfo = \"\"

While myReader.Read

For I = 0 To myReader.FieldCount - 1

strInfo += myReader.GetName(I) \":\" myReader(I) vbCrLf

Next

End While

TxtWoman.Text = strInfo

(2)輸出數(shù)據(jù)。數(shù)據(jù)的輸出可以通過控制臺、文本框、DataGrid控件等。也可以輸出到其他的應(yīng)用軟件中,如Word、Excel中,因?yàn)檫@些常用的office辦公應(yīng)用軟件對于用戶來說很易于接受,當(dāng)然用數(shù)據(jù)報表輸出也很實(shí)用。

3.2 使用存儲過程實(shí)現(xiàn)數(shù)據(jù)的讀取

存儲過程(Stored procedure)是事先編寫好的存儲在SQL Server服務(wù)器上的代碼,它可以對數(shù)據(jù)庫進(jìn)行操作,也可以返回一個記錄集。存儲過程實(shí)際就是一些SQL語句和命令的集合,像程序里面的過程或函數(shù)一樣,是語句的集合。

例如,若在客戶端VB.NET應(yīng)用程序中通過ADO.NET逐個向服務(wù)器發(fā)送SQL語句,執(zhí)行一條語句后將結(jié)果送回客戶端,再根據(jù)結(jié)果發(fā)送下一個SQL語句。如此反復(fù),就會在網(wǎng)絡(luò)上來回傳送多次中間結(jié)果之后,才能得到最后的數(shù)據(jù)。如果使用存儲過程,把所有的執(zhí)行邏輯集中在一個存儲過程中,保留在服務(wù)器上,則在VB.NET應(yīng)用程序中只需傳輸過程名稱和參數(shù)值的Execute語句即可。

參考文獻(xiàn):

[1] 魏崢,王軍,崔同良. ADO.NET程序設(shè)計教程與實(shí)驗(yàn)[M].北京:清華大學(xué)出版社,2007.

[2] 盧智勇,譚小丹,李光明. Visual Basic.NET數(shù)據(jù)庫程序設(shè)計與實(shí)例[M].北京:冶金工業(yè)出版社,2005.

注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

主站蜘蛛池模板: 漂亮人妻被中出中文字幕久久 | 看看一级毛片| 免费国产黄线在线观看| 极品国产在线| 偷拍久久网| 国产精品高清国产三级囯产AV| 成年人免费国产视频| 免费一级无码在线网站| 国产视频久久久久| 免费人成又黄又爽的视频网站| 色婷婷狠狠干| 成年人福利视频| 亚洲国产亚洲综合在线尤物| 91区国产福利在线观看午夜 | 国产视频一区二区在线观看| 成人va亚洲va欧美天堂| 一区二区三区四区日韩| 久久久精品国产SM调教网站| 一区二区在线视频免费观看| 无码高清专区| 一本大道香蕉中文日本不卡高清二区| 国产91小视频在线观看| 啪啪国产视频| 国产福利免费在线观看| 精品久久久无码专区中文字幕| AV熟女乱| 搞黄网站免费观看| 一级成人a做片免费| 在线观看国产黄色| 欧美在线视频不卡第一页| 国产精品成人一区二区不卡| 亚洲女同欧美在线| 92午夜福利影院一区二区三区| 国产毛片基地| 国产精品成人不卡在线观看 | 天堂网亚洲系列亚洲系列| 久久久噜噜噜久久中文字幕色伊伊| 成人精品区| 538国产视频| 欧美亚洲另类在线观看| 国产成人精品一区二区不卡 | 一本色道久久88综合日韩精品| 免费观看精品视频999| 一级毛片免费观看久| 波多野结衣一区二区三区四区视频 | 青青草原国产一区二区| 国产第八页| 国产va在线观看免费| 久久国产乱子| 国产性精品| 色悠久久综合| 日韩欧美91| 在线a网站| 91小视频在线观看| 九九精品在线观看| 亚洲无码免费黄色网址| 久久久久久国产精品mv| 国产无遮挡猛进猛出免费软件| 婷婷六月天激情| 91网红精品在线观看| 欧美一级高清免费a| 国产微拍一区二区三区四区| 亚洲日本中文综合在线| 免费无码又爽又刺激高| 国产精品久久久久久久久久98 | 免费女人18毛片a级毛片视频| 亚洲伦理一区二区| 天天摸天天操免费播放小视频| 欧美亚洲国产精品第一页| 无码国产伊人| 国产成人亚洲精品色欲AV| 亚洲视频影院| 国产在线欧美| 国产一区二区人大臿蕉香蕉| 国产欧美精品午夜在线播放| 国产一区免费在线观看| 黄色免费在线网址| 亚洲AV电影不卡在线观看| 国产高清在线精品一区二区三区| 亚洲天堂视频网站| 伊人久久福利中文字幕| 亚洲无码电影|