亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ADO.NET數(shù)據(jù)庫訪問技術(shù)淺析

        2012-04-29 03:10:09李成楠楊晶
        科技創(chuàng)新導(dǎo)報 2012年12期
        關(guān)鍵詞:數(shù)據(jù)源應(yīng)用程序客戶端

        李成楠 楊晶

        引言

        Microsoft ActiveX Data Objects(ADO).NET是一種把基于Microsoft.NET的Web應(yīng)用程序以及Microsoft Windows應(yīng)用程序連接到諸如SQL Server數(shù)據(jù)庫或XML文件等數(shù)據(jù)源的技術(shù)。ADO.NET專門為諸如Internet這樣的無連接的工作環(huán)境而設(shè)計,它提供了一種簡單而靈活的方法,便于開發(fā)人員把數(shù)據(jù)訪問和數(shù)據(jù)處理集成到Web應(yīng)用程序中。

        ADO.NET結(jié)構(gòu)作為一個高效的.NET程序語言。其混合了函數(shù)語言和物件導(dǎo)向程序編制語言,并且完美的是用于編程、算法、技術(shù)和探索性開發(fā),因此可以在使用的過程當(dāng)中感受到趣味性和吸引力。

        1 組成及功能

        ADO.NET是微軟.NET框架的一部分,它由一組工具和層組成,應(yīng)用程序可以借此與基于文件或基于服務(wù)器的數(shù)據(jù)存儲很輕松地進(jìn)行通信和管理。ADO.NET是在.NET Framework環(huán)境中用于訪問數(shù)據(jù)庫的一組組件類。在基于.NET Framework開發(fā)的應(yīng)用程序中,如果要訪問數(shù)據(jù)庫,是用ADO.NET是目前的最佳選擇。ADO.NET是與C#和.NET Framework一起使用的類集的名稱,用于以關(guān)系型的、面向表的格式訪問數(shù)據(jù)。使用ADO.NET可以更容易地實(shí)現(xiàn)對關(guān)系和非關(guān)系數(shù)據(jù)的訪問,并且ADO.NET統(tǒng)一了XML和關(guān)系數(shù)據(jù)訪問,支持Internet上的多層應(yīng)用程序,與上一代技術(shù)相比,ADO.NET可以擴(kuò)充以支持更多的數(shù)據(jù)源。

        ADO.NET可以使用XML作為通用的數(shù)據(jù)傳送格式。只要處理數(shù)據(jù)的不同的平臺有XML分析程序,就可以實(shí)現(xiàn)不同平臺之間極好的互操作性。其次,ADO.NET具有十分強(qiáng)大的可伸縮性。對于Web應(yīng)用程序來說,很難估計同一個時刻會有多少用戶在提交訪問。而在使用ADO時,ADO的可伸縮性不強(qiáng)通常合成為導(dǎo)致服務(wù)器崩潰的主要原因之一。而在ADO.NET中,由于對已經(jīng)斷開連接的數(shù)據(jù)集并不保存長時間的數(shù)據(jù)鎖和數(shù)據(jù)連接,所以相比之下,服務(wù)器端的負(fù)荷就大大減少。

        2 ADO.NET與ADO的差異

        ADO.NET是一種基于Microsoft ADO的新技術(shù),它并不是ADO的修訂版,而是建立在ADO之上,用于處理數(shù)據(jù)的一種全新技術(shù)。ADO.NET在以前的ADO版本的基礎(chǔ)上做了許多改進(jìn),大大簡化了Web應(yīng)用程序與數(shù)據(jù)庫連接處理。ADO.NET與ADO可以共存。雖然大部分基于.NET的Web應(yīng)用程序使用ADO.NET,但是通過使用.NET COM互操作服務(wù)可使ADO對.NET程序員仍然可用。

        ADO.NET是一系列用于連接和處理數(shù)據(jù)源的類,與基于COM、依賴于連接并使用OLEDB訪問數(shù)據(jù)的ADO不同。ADO.NET是為在無連接的環(huán)境中連接數(shù)據(jù)而特別設(shè)計的,這使得它成為基于Internet的Web應(yīng)用程序的最佳選擇。ADO.NET用XML作為在數(shù)據(jù)庫與Web應(yīng)用程序之間往返傳輸數(shù)據(jù)的形式,這確保了它比ADO具有更強(qiáng)大的兼容性和靈活性。

        在ADO中,數(shù)據(jù)在內(nèi)存中的表示形式為記錄集,在ADO.NET中,它為數(shù)據(jù)集。他們之間有很大的差異。

        3 ADO.NET的對象體系

        ADO.NET可以在兩種模式下工作:非連接模式和連接模式。其中,在連接模式下訪問數(shù)據(jù)庫,應(yīng)用程序需要首先創(chuàng)建對數(shù)據(jù)庫的連接,然后把命令發(fā)送到連接,再連接將命令傳遞到數(shù)據(jù)庫,最后將從數(shù)據(jù)庫返回的數(shù)據(jù)保存到DataReader對象中;而在非連接模式下,從數(shù)據(jù)庫返回的數(shù)據(jù)被保存到ADO.NET中的DataSet組件中,該組件允許應(yīng)用程序從數(shù)據(jù)庫檢索數(shù)據(jù),并可以離線處理,然后創(chuàng)建新連接把對數(shù)據(jù)庫的更新保存到數(shù)據(jù)庫中。

        3.1 連接對象

        面向連接的部分是那些數(shù)據(jù)源交互和處理時必須要有打開的可用連接的對象。在ADO.NET中面向連接的部分主要包括如下對象:

        (1)Connection對象表示一個數(shù)據(jù)源的開放式連接。用戶必須首先創(chuàng)建一個Connection對象,然后再使用其它的對象來訪問數(shù)據(jù)庫。因此,Connection對象是ADO對象模型的基礎(chǔ)。連接對象的例子有OleDb Connection、SqlConnection等。

        (2)Command對象代表對數(shù)據(jù)源執(zhí)行的命令。使用Command命令可以查詢數(shù)據(jù),并將查詢結(jié)果返回給RecordSet對象。

        (3)Parameter對象表示Command對象的一個獨(dú)立參數(shù)。這個對象是SQL查詢時的一個運(yùn)行參數(shù),或者是存儲過程中的輸入或輸出參數(shù)。

        (4)DataAdapter對象充當(dāng)DataSet和數(shù)據(jù)源之間用于檢索和保存數(shù)據(jù)的橋梁。DataAdapter類代表用于填充DataSet以及更新數(shù)據(jù)源的一組數(shù)據(jù)庫命令和一個數(shù)據(jù)庫連接。DataAdapter對象是ADO.NET數(shù)據(jù)提供程序的組成部分,該數(shù)據(jù)提供程序還包括連接對象、數(shù)據(jù)讀取器對象和命令對象。

        (5)DataReader對象是一個快速而易于使用的對象,可以從數(shù)據(jù)源中讀取僅能向前和只讀的數(shù)據(jù)流。此對象具有最好的功能,可以簡單地讀取數(shù)據(jù)。

        3.2 非連接對象

        非連接對象是使用ADO.NET構(gòu)建的。非連接應(yīng)用程序通常盡可能晚地連接,并且盡早地斷開連接。ADO.NET中非連接的部分主要需要如下對象:

        (1)DataSet類是ADO.NET的主要成員之一,它是從數(shù)據(jù)庫中檢索到的數(shù)據(jù)在內(nèi)存中的緩存,代表了一個或多個數(shù)據(jù)庫表中數(shù)據(jù)的非連接視圖。

        (2)DataTablel對象代表在DataSet中的表。一個DataSet對象通常包含一個或多DataTablel對象。每個DataTablel對象又包含一個或多個DataColumn和DataRow。它以行或列存儲數(shù)據(jù)。

        (3)DataColumn對象代表表中的一列。

        (4)DataRow對象代表來自表的關(guān)聯(lián)數(shù)據(jù)的一行。

        (5)DataView的一個主要功能是允許在Windows窗體和Web窗體上進(jìn)行數(shù)據(jù)綁定。另外,可自定義DataView來表示DataTable中數(shù)據(jù)的子集。此功能擁有綁定到同一DataTable,但顯示不同數(shù)據(jù)版本的兩個空間。

        (6)DataRelation對象代表通過共享列而發(fā)生關(guān)系的兩個表之間的關(guān)系。每個DataR elation對象通過DataColumn對象與一對DataTable對象關(guān)聯(lián)。通過匹配兩張表中的列可以建立關(guān)系。

        4 數(shù)據(jù)訪問的3個典型階段

        數(shù)據(jù)訪問有3個典型階段:首先從數(shù)據(jù)源中訪問數(shù)據(jù),并把數(shù)據(jù)顯示出來;然后進(jìn)行數(shù)據(jù)處理;會后把更新后的數(shù)據(jù)返回到數(shù)據(jù)庫。

        4.1 訪問數(shù)據(jù)

        用戶請求一個頁面,頁面創(chuàng)建SqlConne ction對象和SqlDataAdapter對象,使用SqlDataAdapter對象從數(shù)據(jù)庫中生成一個DataSet,然后通過控件把DataSet返回給用戶。

        4.2 處理數(shù)據(jù)

        生成DataSet后,用戶就可以瀏覽并處理數(shù)據(jù)。瀏覽和處理數(shù)據(jù)的時候,客戶端與Web服務(wù)器之間沒有連接,Web服務(wù)器和數(shù)據(jù)庫服務(wù)器之間也沒有連接。DataSet的設(shè)計使得這種無連接的系統(tǒng)比較容易實(shí)現(xiàn)。由于DataSet是無狀態(tài)的,所以可以在Web服務(wù)器和客戶端之間安全傳輸而無需占用服務(wù)器資源。

        4.3 更新數(shù)據(jù)庫

        用戶完成瀏覽并修改數(shù)據(jù)之后,客戶端把修改后的DataSet返回到頁面,此頁面用DataAdapter協(xié)調(diào)返回的DataSet與數(shù)據(jù)庫中原始數(shù)據(jù)之間的變化。數(shù)據(jù)以XML格式先在客戶端和Web服務(wù)器之間傳送,然后在Web服務(wù)器和數(shù)據(jù)庫服務(wù)器之間傳送。

        5 編程中的應(yīng)用

        在實(shí)際應(yīng)用中,建立程序與數(shù)據(jù)庫的連接如下:

        (1)首先要導(dǎo)入所需要的命名空間;

        (2)建立指向數(shù)據(jù)的數(shù)據(jù)連接;

        (3)在此數(shù)據(jù)連接上,建立一個SQL語句,用來返回所需要用的數(shù)據(jù)集;

        (4)打開數(shù)據(jù)連接,執(zhí)行SQL語句,返回所需的數(shù)據(jù)集;

        (5)關(guān)閉數(shù)據(jù)集,關(guān)閉數(shù)據(jù)連接。

        相關(guān)的代碼如下:

        using System;

        using System.Data.SqlClient;

        using System.Windows.Forms;

        string strConnect=”server=.//sqlexpress;integrated security=true;database=myData”;

        SqlConnection con=new SqlConnection(strConnect);

        SqlCommand cmd=new SqlCommand();

        con.Open();

        SqlDataReader reader=cmd.ExcuteReader();

        reader.Close();

        con.Close();

        6 ADO.NET的好處

        使用ADO.NET的好處分成以下類別:

        互操作性:ADO.NET應(yīng)用程序可以利用XML的靈活性和廣泛接受性。由于XML是用于在網(wǎng)絡(luò)中傳輸數(shù)據(jù)集的格式,因此可以讀取XML格式的任何組件都可以處理數(shù)據(jù)。

        可維護(hù)性:在已部署系統(tǒng)的生存期中,適度的更改是可能的,但由于十分困難,所以很少嘗試進(jìn)行實(shí)質(zhì)的結(jié)構(gòu)更改。

        可編程性:Visual Studio中的ADO.NET數(shù)據(jù)組件以不同方式封裝數(shù)據(jù)訪問功能,幫助您加快編程速度并減少犯錯幾率。例如,數(shù)據(jù)命令提取生成和執(zhí)行SQL語句或存儲過程的任務(wù)。

        結(jié)語

        通過以上的介紹,首先,在ADO.NET結(jié)構(gòu)和功能的基礎(chǔ)上,分析了ADO.NET與ADO差異;其次,分別對ADO.NET的對象體系的主要對象進(jìn)行了說明;最后,在編程中對數(shù)據(jù)庫連接方法的實(shí)現(xiàn)。可以了解到ADO.NET為數(shù)據(jù)庫的訪問提供了一種全新的、簡單高效的數(shù)據(jù)庫訪問技術(shù),它使得數(shù)據(jù)編程變得更加容易;同時,也為編程人員提供了功能更為強(qiáng)大的數(shù)據(jù)訪問方式。因此,ADO.NET在軟件開發(fā)環(huán)境的發(fā)展中起到至關(guān)重要的作用和地位。

        參考文獻(xiàn)

        [1] 何玉潔.數(shù)據(jù)庫原理與應(yīng)用教程.機(jī)械工業(yè)出版社,2010(9).

        [2] 韓小祥,劉志軍.C#程序設(shè)計.北京科海電子出版社,2009(4).

        猜你喜歡
        數(shù)據(jù)源應(yīng)用程序客戶端
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機(jī)客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實(shí)現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
        基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
        分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計與實(shí)現(xiàn)
        客戶端空間數(shù)據(jù)緩存策略
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        在线观看一级黄片天堂| 亚洲老熟妇愉情magnet| 给我播放的视频在线观看| 中文字幕一区二区精品视频| 青青国产揄拍视频| 狠干狠爱无码区| 一区二区三区午夜视频在线观看| 国产饥渴的富婆一凶二区| 日本艳妓bbw高潮一19| 成年视频国产免费观看| 亚洲精品国产熟女久久| 亚洲一区二区三区国产| 久久久亚洲欧洲日产国码αv | av资源吧首页在线观看| 亚洲精品国产av成人精品| 狠狠色噜噜狠狠狠狠7777米奇| 国产精品亚洲А∨天堂免下载| 国产亚洲精品视频在线| 久久人妻av无码中文专区| 99久久久精品免费观看国产| 国产一区二区三区韩国| 久久精品国产亚洲av网站 | 熟女少妇内射日韩亚洲| a级毛片免费观看视频| 久久免费精品视频老逼| 精品国产一区二区三区不卡在线| 国产精品成人观看视频| 欧美乱人伦中文字幕在线不卡| 久久久亚洲成年中文字幕| 曰韩无码无遮挡a级毛片| 久久国产精品波多野结衣av| 国产高清亚洲精品视频| 亚洲乱码中文字幕在线| 黄色a级国产免费大片| 国产国拍亚洲精品福利| 亚洲精品中文字幕一二三四 | 亚洲av伊人久久综合密臀性色| 好爽~又到高潮了毛片视频| 亚州终合人妖一区二区三区| 国产一区二区内射最近更新| 欧美日本免费一区二|