亚洲免费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
        91青青草免费在线视频| 让少妇高潮无乱码高清在线观看| 久久精品成人无码观看不卡| 亚洲av中文无码字幕色三| 熟女人妻丰满熟妇啪啪| 久久国产精品av在线观看| 日韩人妻久久中文字幕| 国产av一区二区三区无码野战| 免费拍拍拍网站| 久久亚洲国产精品成人av秋霞| 亚欧免费无码AⅤ在线观看 | 亚洲天堂成人av影院| 熟女少妇内射日韩亚洲| 少妇被爽到高潮动态图| 538亚洲欧美国产日韩在线精品| 国产免费一区二区三区三| 亚洲av免费不卡在线观看| 熟女少妇精品一区二区| 无码人妻精品一区二区三区免费| 久久久久综合一本久道| 白色白色白色在线观看视频| 黑人老外3p爽粗大免费看视频 | 国产又爽又粗又猛的视频| 久久青青草原亚洲AV无码麻豆| 91国产超碰在线观看| 国产无套一区二区三区久久| 一本加勒比hezyo无码专区| 夜夜高潮夜夜爽夜夜爱爱| 久久精品国产72国产精福利| 日本一曲二曲三曲在线| 国产内射视频在线免费观看| 大地资源中文第3页| 少妇被粗大的猛进69视频| 国产杨幂AV在线播放| 蜜桃高清视频在线看免费1| 国产免码va在线观看免费| 成人黄色网址| 国产亚洲欧美另类第一页| 有码视频一区二区三区| 丰满熟妇乱又伦精品| 18成人片黄网站www|