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

        ?

        基于ASP.NET的數(shù)據(jù)庫訪問技術(shù)研究與實(shí)現(xiàn)

        2012-08-29 07:35:32劉維崗天津現(xiàn)代職業(yè)技術(shù)學(xué)院天津300350
        天津科技 2012年2期
        關(guān)鍵詞:數(shù)據(jù)源對象服務(wù)器

        劉維崗 (天津現(xiàn)代職業(yè)技術(shù)學(xué)院 天津300350)

        0 引言

        隨著信息社會的到來,越來越多的管理從日常的手工轉(zhuǎn)向了數(shù)字化管理。比如:學(xué)生信息管理系統(tǒng)、圖書管理系統(tǒng)、科研課題管理系統(tǒng)等。這些系統(tǒng)的實(shí)現(xiàn)以及功能的完善,都離不開數(shù)據(jù)庫。隨著網(wǎng)絡(luò)的普及以及廣泛應(yīng)用,人們的生活學(xué)習(xí)、生產(chǎn)等都與之密切相關(guān)。隨之而來的就是信息管理系統(tǒng)在網(wǎng)絡(luò)上的廣泛應(yīng)用。如何開發(fā)出具有較高性能的基于網(wǎng)絡(luò)的信息管理系統(tǒng)?對于這一問題,我們只需要把最核心的技術(shù)解決了,那么這個(gè)基于網(wǎng)絡(luò)的信息管理系統(tǒng)的高效能的問題就可以很容易實(shí)現(xiàn)。如何實(shí)現(xiàn)對不同數(shù)據(jù)庫的訪問以及實(shí)現(xiàn)的方法,是本文主要闡述的內(nèi)容。

        1 ASP.NET技術(shù)

        ASP.NET是ASP的前身,它是微軟公司的一項(xiàng)技術(shù),是一種對于嵌入在網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù)。ASP.NET是一種WEB應(yīng)用程序開發(fā)平臺,它為用戶提供了完整的可視化開發(fā)環(huán)境,并在生產(chǎn)效率、靈活性和可擴(kuò)展性、性能、安全性、完整性上更加完善,在操作及代碼編寫上更加簡捷、方便。

        1.1 ASP.NET技術(shù)的幾個(gè)重要優(yōu)點(diǎn)

        1.1.1 靈活性 ASP.NET與語言無關(guān),可以選擇最適合應(yīng)用的程序語言,也可以跨多種語言分割程序。

        1.1.2 數(shù)據(jù)訪問的高效性 ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫組件可以直接和數(shù)據(jù)庫聯(lián)系。

        1.1.3 簡易性 大量使用組件技術(shù),從簡單的窗體提交到客戶身份驗(yàn)證很容易實(shí)現(xiàn)。采用代碼托管簡化程序開發(fā)過程。

        1.1.4 高效性 頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重新啟動(dòng),這使得多次訪問時(shí)速度有了極大的提升。

        1.1.5 ASP.NET具有更加完善的開發(fā)工具 可以使用微軟開發(fā)Visual Studio開發(fā)環(huán)境,使用ASP.NET控件進(jìn)行高效的應(yīng)用程序開發(fā)。

        1.2 ASP.NET運(yùn)行原理

        當(dāng)用戶向服務(wù)器發(fā)送一個(gè)HTTP,服務(wù)器的IIS接收到請求后之后,第一步是加載不同的.dll文件,主要根據(jù)客戶端發(fā)出請求的頁面類型確定相應(yīng)的.dll文件;第二步調(diào)用相應(yīng)的處理模塊,根據(jù)不同的請求調(diào)用能夠處理這個(gè)請求的模塊。在ASP.NET中,用HttpHandler(HTTP處理程序組件)模塊來實(shí)現(xiàn)。例如請求是.aspx類型文件,在服務(wù)器端有默認(rèn)的HttpHandler專門處理.aspx類型的文件。IIS在應(yīng)答用戶請求處理文件之前,需先經(jīng)過一些不同HttpModule的處理,這些都是系統(tǒng)默認(rèn)的Modules(用于獲取當(dāng)前應(yīng)用程序的模塊集合)。然后才再將這條請求發(fā)送給能夠處理這個(gè)請求的模塊。這樣可以安全、高效、可控地完成用戶的請求。ASP.NET運(yùn)行原理如圖1所示。

        圖1 ASP.NET運(yùn)行原理圖

        2 ADO.NET技術(shù)

        ADO.NET是下一代ActiveX Data Objects(ADO)。它是.NET Framework中的一列類庫,是一種數(shù)據(jù)存取模型。具有可擴(kuò)展性、WEB無狀態(tài)性。ADO.NET提供了到所有OLE-DB數(shù)據(jù)源的接口,讓開發(fā)人員可以在各種環(huán)境中對數(shù)據(jù)庫進(jìn)行連接、檢索、操縱和更新。在ADO.NET中,大量復(fù)雜的數(shù)據(jù)操作的代碼被封裝起來。這樣在開發(fā)ASP.NET應(yīng)用程序時(shí),只需要編寫少量的代碼即可完成大量的操作。ADO.NET并不像C#.NET、Visual Basic.NET那樣是一種語言,ADO.NET是對象的集合。

        ADO.NET 中主要包括 Connection、Command、DataReader、DataSet和DataAdapter對象。每個(gè)對象的主要功能如下:①Connection對象主要提供與數(shù)據(jù)庫的連接功能;②Command對象用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令;③DataReader對象通過Command對象提供從數(shù)據(jù)庫檢索信息的功能,DataReader對象是以一種只讀的、向前的、快速的方式訪問數(shù)據(jù)庫;④DataSet是ADO.NET的核心對象,它是一個(gè)數(shù)據(jù)庫容器,可以把它當(dāng)作是存在于內(nèi)存的數(shù)據(jù)庫。DataSet是數(shù)據(jù)的內(nèi)存駐留表示形式,它可以用于多個(gè)不同形式的數(shù)據(jù)源。DataAdapter對象提供連接DataSet對象和數(shù)據(jù)源的橋梁。

        2.1 ADO.NET訪問數(shù)據(jù)庫的兩種機(jī)制

        針對不同的數(shù)據(jù)庫訪問需求,ADO.NET為訪問數(shù)據(jù)源中的數(shù)據(jù)提供了兩種模式:①基于連接的訪問模式,可以使用DataReader對象來實(shí)現(xiàn);②斷開連接模式,我們可以使用DataAdapter對象來實(shí)現(xiàn)。為了發(fā)揮ADO.NET的最佳性能和開發(fā)出高性能的應(yīng)用程序,我們在開發(fā)時(shí),需要根據(jù)自己的實(shí)際情況選擇合適的模式。

        2.1.1 連接模式 這種模式是最常用、最基本的一種模式。在連接模式下,客戶機(jī)會一直保持和數(shù)據(jù)庫服務(wù)器的連接,然后讀取數(shù)據(jù)。所有數(shù)據(jù)庫的操作都需通過這個(gè)連接才能和后臺的數(shù)據(jù)源進(jìn)行交互,這和ADO技術(shù)是一樣的。這種訪問模式是通過DataReader對象來實(shí)現(xiàn)的,在已經(jīng)建立的數(shù)據(jù)連接的基礎(chǔ)上,DataReader對象提供了對數(shù)據(jù)庫的向前、只讀的在線數(shù)據(jù)訪問方式和進(jìn)行遍歷。這種模式適合數(shù)據(jù)傳輸量少、系統(tǒng)規(guī)模不大、客戶機(jī)和服務(wù)器在同一網(wǎng)絡(luò)內(nèi)的環(huán)境。ADO.NET的連接模式只能返回向前的、只讀的數(shù)據(jù),這是由DataReader對象的特性決定的。一個(gè)典型的ADO.NET連接模式如圖2所示。

        圖2ADO.NET連接模式

        連接模式下數(shù)據(jù)訪問的步驟如下:①使用Connection對象連接數(shù)據(jù)庫并向數(shù)據(jù)庫索取數(shù)據(jù)。②索取到的數(shù)據(jù)存放在DataReader(數(shù)據(jù)閱讀器)對象中并進(jìn)行讀取。③完成讀取操作后,關(guān)閉DataReader對象。④關(guān)閉Connection對象。

        2.1.2 斷開連接模式 斷開連接模式是采用Dataset對象的數(shù)據(jù)訪問模式,DataSet是ADO.NET的中心概念,支持ADO.NET斷開式、分布式數(shù)據(jù)方案的核心對象。DataSet對象是創(chuàng)建在內(nèi)存中的集合對象。它可以包含任意數(shù)量的數(shù)據(jù)表,以及所有表的約束、索引和關(guān)系,相當(dāng)于在內(nèi)存中的小型關(guān)系數(shù)據(jù)庫。通過DataAdapter對象對數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行檢索,將所需要的數(shù)據(jù)填充到DataSet對象的表中,DataSet中的數(shù)據(jù)表格可以單獨(dú)存放,也可以通過DataRelation對象在表格之間建立關(guān)聯(lián),這樣增加了數(shù)據(jù)處理的靈活性。

        在斷開連接模式中,服務(wù)器不需要維護(hù)和用戶之間的數(shù)據(jù)庫連接,只有當(dāng)用戶需要將更新的數(shù)據(jù)傳回到服務(wù)器時(shí)再重新連接,這樣服務(wù)器的負(fù)擔(dān)大大減輕,并且可以同時(shí)支持更多并發(fā)的用戶訪問。在整個(gè)過程都需要DataSet對象的支持和配合,這是ADO.NET的非凡之處。斷開連接模式比較適合于數(shù)據(jù)量較大、系統(tǒng)節(jié)點(diǎn)較多、結(jié)構(gòu)復(fù)雜的網(wǎng)絡(luò)。典型的ADO.NET斷開連接模式應(yīng)用如圖3所示。

        圖3 ADO.NET斷開連接模式應(yīng)用

        斷開連接模式下數(shù)據(jù)訪問的步驟如下:①使用Connection對象連接數(shù)據(jù)庫并獲取數(shù)據(jù)庫中的數(shù)據(jù)。②獲取到的數(shù)據(jù)存儲在DataAdapter(數(shù)據(jù)適配器)對象中并把數(shù)據(jù)填充到DataSet(數(shù)據(jù)集)對象中。③關(guān)閉Connection對象。④對用戶本地內(nèi)存中的DataSet(數(shù)據(jù)集)對象中的數(shù)據(jù)進(jìn)行各種操作。⑤操作完畢后,啟動(dòng)Connection對象連接數(shù)據(jù)庫。⑥利用DataAdapter對象更新數(shù)據(jù)庫。⑦關(guān)閉Connection對象。

        2.2 ADO.NET訪問數(shù)據(jù)庫的一般步驟

        創(chuàng)建一個(gè)數(shù)據(jù)庫鏈路;請求一個(gè)記錄集合;把記錄集合暫存到DataSet;如果需要,返回第2步(DataSet可以容納多個(gè)數(shù)據(jù)集合);關(guān)閉數(shù)據(jù)庫鏈路;在DataSet上做所需要的操作。

        3 對于不同的數(shù)據(jù)庫的訪問實(shí)現(xiàn)

        3.1 連接數(shù)據(jù)數(shù)據(jù)庫

        當(dāng)要連接到數(shù)據(jù)庫時(shí),首先確定一個(gè).NET數(shù)據(jù)提供程序。對于不同數(shù)據(jù)提供程序包含的類也不同。這些類能夠連接到數(shù)據(jù)源,高效地對數(shù)據(jù)進(jìn)行各種操作。利用Connection對象可以連接到數(shù)據(jù)庫。

        3.1.1 Connection類有4種:SqlConnection類的對象連接SQL Server數(shù)據(jù)庫;OracleConnection類的對象連接Oracle數(shù)據(jù)庫;OleDbConnection類的對象連接支持OLE DB的數(shù)據(jù)庫,如Access;OdbcConnection類的對象連接任何支持ODBC的數(shù)據(jù)庫。

        3.1.2 使用Connection對象連接數(shù)據(jù)庫。實(shí)現(xiàn)數(shù)據(jù)庫連接一般可采用以下步驟:①創(chuàng)建Connection對象;②把連接字符串賦值給Connection對象的Connection-String屬性;③調(diào)用Connection對象的Open方法打開連接;④操作完畢后,調(diào)用Connection對象的Close方法關(guān)閉連接。

        3.2 連接不同數(shù)據(jù)庫的具體實(shí)現(xiàn)

        3.2.1 使用SqlConnection對象連接SQLSERVER數(shù)據(jù)庫

        首先建立用于與SQLSERVER服務(wù)器連接的類。語法如下:SqlConnection con=newSqlConnection("Server= 服務(wù)器名;User Id=用戶;Pwd=密碼;DataBase=數(shù)據(jù)庫名稱");

        下面的代碼通過ADO.NET連接到本地SQL Server中的mydata數(shù)據(jù)庫。

        3.2.2 使用OleDbConnection對象連接OLE DB數(shù)據(jù)庫

        連接Access數(shù)據(jù)庫的語法格式

        3.2.3 使用OdbcConnection對象連接ODBC數(shù)據(jù)庫

        3.3 對數(shù)據(jù)庫中的數(shù)據(jù)操作

        對于數(shù)據(jù)庫中的數(shù)據(jù)操作可以通過Command對象來實(shí)現(xiàn)。Command類用于執(zhí)行SQL命令或存儲過程。使用Connection對象與數(shù)據(jù)源建立連接后,使用Command類創(chuàng)建的對象進(jìn)行對數(shù)據(jù)源的增減、刪改等操作,操作實(shí)現(xiàn)的方式可以是使用SQL語句或是使用存儲過程。使用Command類執(zhí)行SQL命令一般可采用以下步驟:①創(chuàng)建Connection對象并設(shè)置要執(zhí)行的SQL命令和所使用的當(dāng)前連接;②用Connection對象的Open方法打開數(shù)據(jù)庫連接;③調(diào)用Command對象的相應(yīng)方法執(zhí)行SQL命令;④調(diào)用Connection對象的Close方法關(guān)閉連接。

        以下對數(shù)據(jù)庫的操作以學(xué)生數(shù)據(jù)庫來實(shí)現(xiàn)。

        3.3.1 從數(shù)據(jù)源中讀取數(shù)據(jù) 讀取數(shù)據(jù)一般有兩種方式,一種是DataReader對象來直接訪問,另外一種是通過DataSet和DataAdapter來訪問。

        例如:

        3.3.2 向數(shù)據(jù)庫中添加記錄 向數(shù)據(jù)庫中添加記錄,首先要?jiǎng)?chuàng)建SqlConnection和SqlCommand對象,然后打開數(shù)據(jù)數(shù)據(jù)庫連接,調(diào)用SqlCommand對象的ExecuteNonQuery方法完成插入操作,最后關(guān)閉數(shù)據(jù)庫連接。

        例如:

        3.3.3 更新數(shù)據(jù)庫記錄 更新數(shù)據(jù)庫記錄與添加數(shù)據(jù)庫記錄的操作基本一致,只要把插入記錄的SQL語句替換成更新記錄的SQL語句就可以了。

        例如:

        3.3.4 刪除數(shù)據(jù)庫記錄 刪除與添加和更新的步驟基本一致,只需要把相應(yīng)的SQL語句改動(dòng)一下即可。

        例如:

        4 結(jié)束語

        隨著網(wǎng)絡(luò)的發(fā)展以及信息化的網(wǎng)絡(luò)普及,數(shù)據(jù)庫的應(yīng)用已經(jīng)越來越廣泛。作為信息管理系統(tǒng)中最核心的數(shù)據(jù)庫開發(fā)技術(shù)也越來越重要。ASP.NET作為一項(xiàng)Web應(yīng)用程序開發(fā)技術(shù)得到開發(fā)者的歡迎。其中ADO.NET技術(shù)實(shí)現(xiàn)了高速的、安全的數(shù)據(jù)訪問?!?/p>

        [1]劉曉宇.基于.N ET的數(shù)據(jù)庫訪問技術(shù)優(yōu)化研究[J].軟件導(dǎo)刊,2011,10( 4):150-153.

        [2]魏祖寬,江利娟,金在弘.?dāng)?shù)據(jù)庫訪問技術(shù)比較研究[J].計(jì)算機(jī)與現(xiàn)代化,2009(12):46-50,54.

        [3]李維杰,孫乾君.SQ L Server2005數(shù)據(jù)庫原理與應(yīng)用簡明教程[M].北京:清華大學(xué)出版社,2007.

        [4]陳英學(xué).A SP.N ET深入編程[M].北京:希望電子出版社,2001.

        [5]陳會安.A SP.N ET2.0網(wǎng)頁制作徹底研究[M].第二版.北京:清華大學(xué)出版社,2007.

        [6]蔣薇.基于A D O.N ET的數(shù)據(jù)訪問技術(shù)探索[J].儀器儀表學(xué)報(bào),2009,30(6):32-35.

        [7]張躍廷.C#數(shù)據(jù)庫系統(tǒng)開發(fā)案例精選[M].北京:人民郵電出版社,2007.

        [8]曾長軍,朱劍鋒,劉坤.SQ L Server數(shù)據(jù)庫原理及應(yīng)用[M].北京人民郵電出版社,2007:211.

        [9]尼春雨,王國勝,紫寶杰.A SP.N ET+SQ L Server動(dòng)態(tài)網(wǎng)站開發(fā)[M].北京:清華大學(xué)出版社,2009:165.

        [10]華國棟,劉文予.基于A D O.N ET的數(shù)據(jù)庫訪問及其性能優(yōu)化[J].計(jì)算機(jī)應(yīng)用研究,2004(6):215-217.

        猜你喜歡
        數(shù)據(jù)源對象服務(wù)器
        神秘來電
        睿士(2023年2期)2023-03-02 02:01:09
        通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        攻略對象的心思好難猜
        意林(2018年3期)2018-03-02 15:17:24
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價(jià)研究
        得形忘意的服務(wù)器標(biāo)準(zhǔn)
        基于熵的快速掃描法的FNEA初始對象的生成方法
        計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
        區(qū)間對象族的可鎮(zhèn)定性分析
        基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價(jià)算法
        亚洲熟女乱色一区二区三区| 国产婷婷色一区二区三区深爱网| 日韩在线不卡一区三区av| 97人妻中文字幕总站| 午夜无码一区二区三区在线| 中文字幕无码人妻丝袜| 色www亚洲| 久久亚洲成a人片| jiZZ国产在线女人水多| 精品亚洲人伦一区二区三区| 激情视频在线观看国产中文| 亚洲av精品一区二区| 色偷偷亚洲精品一区二区| 午夜少妇高潮在线观看视频| 亚洲av日韩av激情亚洲| 日韩夜夜高潮夜夜爽无码| 亚洲性久久久影院| 国产精品99久久久久久猫咪| 无码精品久久久久久人妻中字| a级国产乱理伦片在线播放| 亚洲精品无码成人片久久不卡| 国产精品成人av在线观看| 亚洲mv国产精品mv日本mv| 无码超乳爆乳中文字幕| 在线观看国产精品自拍| 亚洲天堂av在线免费看| 亚洲日产乱码在线中文字幕| 国产精品一区二区三区播放| 蜜桃一区二区三区视频网址| 亚洲av无码码潮喷在线观看| 国产肉体xxxx裸体784大胆| 免费看男女做羞羞的事网站| a级毛片无码久久精品免费| 久久久精品人妻一区二区三区四| 白色橄榄树在线免费观看| 成人午夜视频在线观看高清| 手机免费高清在线观看av| 森中文字幕一区二区三区免费| 亚洲 卡通 欧美 制服 中文| 亚洲熟女综合一区二区三区| 国产在线h视频|