国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ASP.NET的ADO.NET技術(shù)研究

2014-05-30 10:48:04肖亞紅
電腦知識(shí)與技術(shù) 2014年9期

肖亞紅

摘要:該文從當(dāng)前軟件開(kāi)發(fā)行業(yè)中的常用語(yǔ)言說(shuō)起,闡述了ADO.NET的常用對(duì)象及其技術(shù)使用,并以訪問(wèn)SQLServer 數(shù)據(jù)庫(kù)為例探討了ADO.NET對(duì)象在實(shí)際開(kāi)發(fā)中的編程技術(shù)。

關(guān)鍵詞:ASP.NET;ADO.NET;數(shù)據(jù)庫(kù)編程

中圖分類號(hào):TP313 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)09-1950-02

Research on ADO.NET Technology Based on ASP.NET

XIAO Ya-hong

(Hunan Automotive Engineering of Career Academy (Zhuzhou Professional Technology College), Zhuzhou 412001,China)

Abstract: This article from the current commonly used languages within the software development industry speaking, describes the use of ADO.NET's common object and its technology, and to access the SQLServer database as an example of the ADO.NET object in the development of practical programming technology.

Key words: ASP.NET; ADO.NET; database programming

1 ASP.NET簡(jiǎn)介

隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和以網(wǎng)站為載體的網(wǎng)絡(luò)信息的廣泛傳播,越來(lái)越多的企事業(yè)單位開(kāi)始注重自身推廣網(wǎng)站的建設(shè),網(wǎng)站建設(shè)與開(kāi)發(fā)技術(shù)已經(jīng)成為目前計(jì)算機(jī)專業(yè)技術(shù)人員必須掌握的技能之一。隨著動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)的發(fā)展現(xiàn)在比較流行的有ASP.NET、JSP、PHP、ASP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù),ASP.NET 是一種程序設(shè)計(jì)語(yǔ)言,使用VS開(kāi)發(fā)平臺(tái),與微軟數(shù)據(jù)庫(kù)配合使用,建立強(qiáng)大的Web應(yīng)用程序。ASP.NET具有以下特點(diǎn):

1)執(zhí)行效率較高。ASP.NET程序是在服務(wù)器端編譯運(yùn)行,不是一行行解釋完成的。

2)用Microsoft公司最新的產(chǎn)品 Visual Studio.NET開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā),能夠?qū)崿F(xiàn)夸平臺(tái)的操作。具有強(qiáng)大的適應(yīng)性,靈活性。

3簡(jiǎn)單性和易學(xué)性,ASP.NET提供了大量的服務(wù)器控件,且主要是由C#語(yǔ)言進(jìn)行開(kāi)發(fā),面向?qū)ο蟮腃#比VB功能更強(qiáng)大,且易學(xué)易用。

4)多處理器環(huán)境的可靠性高效可管理性,增強(qiáng)了開(kāi)發(fā)的可靠性,高效性,易維護(hù)性。

2 ADO.NET與其常用對(duì)象

ADO是一種專門用于對(duì)數(shù)據(jù)源文件進(jìn)行讀寫操作的一種技術(shù),它為用戶提供了一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο蟮目蚣茴悗?kù),利用這些類庫(kù)可以方便地訪問(wèn)各種數(shù)據(jù)庫(kù),如企業(yè)及數(shù)據(jù)庫(kù)Oracle、SQL Server、DB2,桌面數(shù)據(jù)庫(kù)Access等。實(shí)現(xiàn)數(shù)據(jù)的增、刪、改、查,甚至是文本文件、Excel表格或者XML文件也可以進(jìn)行處理。

ADO.NET提供了五個(gè)非常重要的組件,Connection,Command,DataReader,DataAdapter,DataSet,這些組件分別可以連接數(shù)據(jù)源、對(duì)數(shù)據(jù)源執(zhí)行SQL命令、對(duì)數(shù)據(jù)源中的數(shù)據(jù)提取并顯示、緩存數(shù)據(jù)等等操作。

2.1 Connection組件,負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接操作

Connection對(duì)象的功能是與數(shù)據(jù)庫(kù)之間建立連接,只有成功連接上了數(shù)據(jù)庫(kù),才能和數(shù)據(jù)庫(kù)進(jìn)行通信交互。連接時(shí),需要提供數(shù)據(jù)庫(kù)服務(wù)器的名稱或地址、數(shù)據(jù)庫(kù)名稱、用戶名、用于登錄數(shù)據(jù)庫(kù)的密碼等, Connection對(duì)象成功連接數(shù)據(jù)庫(kù)后,就可以通過(guò)command對(duì)象對(duì)數(shù)據(jù)庫(kù)執(zhí)行SQL命令語(yǔ)句。在對(duì)數(shù)據(jù)源的操作中,它是最重要的對(duì)象,無(wú)論對(duì)數(shù)據(jù)源的增、刪、改、查等操作,都必須要首先與數(shù)據(jù)庫(kù)成功建立連接,它是程序與數(shù)據(jù)庫(kù)之間交流的一座橋梁。

2.2 Command對(duì)象,主要負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)執(zhí)行相應(yīng)SQL命令

與數(shù)據(jù)庫(kù)建立連接后,利用Command對(duì)象的常用方法就可以完全操控?cái)?shù)據(jù)源了。對(duì)數(shù)據(jù)庫(kù)的基本操作如查詢、增加、修改、刪除等指令,以及執(zhí)行數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程和函數(shù)就變得更加容易。Command對(duì)象對(duì)于數(shù)據(jù)庫(kù)操作最常用的方法有ExecuteReader方法,用于連線式讀取一個(gè)表的記錄,但是不能進(jìn)行寫入操作; ExecuteNonQuery方法,可以對(duì)數(shù)據(jù)進(jìn)行讀寫的雙向操作。 可以實(shí)現(xiàn)插入記錄,修改記錄,刪除記錄操作;ExecuteScalar方法,只能讀取到一條數(shù)據(jù)記錄,當(dāng)查詢的結(jié)果里只有單值時(shí)方便使用。

2.3 DataReader對(duì)象,負(fù)責(zé)執(zhí)行SQL命令,將查詢的結(jié)果保存

在數(shù)據(jù)庫(kù)的操作中,當(dāng)需要按順序來(lái)讀取數(shù)據(jù)庫(kù)中的記錄時(shí),可以使用DataReader對(duì)象,它可以按要求從數(shù)據(jù)庫(kù)中每次取一條記錄,并且是從上至下循環(huán)讀取,直至末尾記錄為止。這種讀取的優(yōu)點(diǎn)是節(jié)省資源,效率高。

2.4 DataAdapter對(duì)象,也叫數(shù)據(jù)適配器,是數(shù)據(jù)集和數(shù)據(jù)庫(kù)之間聯(lián)系的橋梁

DataAdapter對(duì)象主要用于提取數(shù)據(jù)源中的數(shù)據(jù),并將這些數(shù)據(jù)放到DataSet對(duì)象的DataTable中,它是一塊虛擬的內(nèi)存表,還可以將數(shù)據(jù)的改動(dòng)寫回到數(shù)據(jù)庫(kù),他的操作不需要通過(guò)ADO.NET中的Command對(duì)象來(lái)執(zhí)行。DataTable是DataSet對(duì)象的操作核心,是這個(gè)對(duì)象與數(shù)據(jù)庫(kù)之間進(jìn)行溝通的橋梁。

2.5 DataSet對(duì)象,即數(shù)據(jù)集,用來(lái)保存數(shù)據(jù)庫(kù)中讀取的記錄

DataSet對(duì)象是數(shù)據(jù)在內(nèi)存中的表示形式,他可以把數(shù)據(jù)庫(kù)中需要查詢到的數(shù)據(jù)全部保留起來(lái),包括整個(gè)數(shù)據(jù)庫(kù)。由于他在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作后,就立即斷開(kāi)與數(shù)據(jù)庫(kù)的連接,所以執(zhí)行效率比較高,所以可以使用這個(gè)對(duì)象及時(shí)高效地訪問(wèn)和操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

3 基于ADO.NET的數(shù)據(jù)庫(kù)編程

在ASP.NET中數(shù)據(jù)的訪問(wèn)一般要經(jīng)過(guò)以下幾個(gè)步驟:1)定義連接;2)定義command 對(duì)象;3)定義DataReader 對(duì)象實(shí)現(xiàn)對(duì)記錄直進(jìn)的讀寫操作或是用DataAdapter和DataSe配合實(shí)用實(shí)現(xiàn)數(shù)據(jù)表的讀操作。如果是插入記錄,修改記錄,刪除記錄則指需調(diào)用command的相應(yīng)方法。

下面,以在ASP.NET開(kāi)發(fā)中,連接SQLSERVER數(shù)據(jù)庫(kù)學(xué)生管理數(shù)據(jù)庫(kù)(stu)為例進(jìn)行數(shù)據(jù)庫(kù)表記錄的讀取操作,了解ADO.NET對(duì)象的使用。

在VS2008中建立一個(gè)網(wǎng)站,建立兩個(gè)WEB頁(yè),同時(shí)將數(shù)據(jù)庫(kù)stu附加在數(shù)據(jù)庫(kù)中。對(duì)應(yīng)代碼窗口編輯狀態(tài)導(dǎo)入命名空間,即using System.Data.SqlClient。

using System.Data.SqlClient;

protected void Page_Load(object sender, EventArgs e)

{string name = TextBox1.Text;

SqlConnection sqlstr = new SqlConnection("Data Source=.;Initial Catalog=stu;User ID=sa;Password=123456");

SqlCommand cmd = new SqlCommand("select * from users where sname='"+name+"'", sqlstr);

sqlstr.Open();

SqlDataReader dr=cmd.ExecuteReader();

GridView1.DataSource = dr;

GridView1.DataBind();

sqlstr.Close();}

以上用代碼實(shí)現(xiàn)了對(duì)學(xué)生數(shù)據(jù)庫(kù)STU中用戶表users的查詢操作,并將結(jié)果顯示在GridView控件中。

以下代碼同樣實(shí)現(xiàn)了對(duì)數(shù)據(jù)表users的查詢操作。只不過(guò),此處用的ADO.NET中的SqlDataAdapter和數(shù)據(jù)集DataSet配合使用。

protected void Page_Load(object sender, EventArgs e)

{ SqlConnection sqlconstr = new SqlConnection("Data Source=.;Initial Catalog=stu;User ID=sa;Password=123456");

SqlCommand cmd = new SqlCommand("select * from student", sqlconstr);

DataSet ds=new DataSet();

SqlDataAdapter da = new SqlDataAdapter(cmd);

da.Fill(ds);

GridView1.DataSource = ds;

GridView1.DataBind();}

以上兩個(gè)案例表明了數(shù)據(jù)庫(kù)的操作的一般步驟,及數(shù)據(jù)查詢操作的兩種方法,用SqlDataReader屬于連線式操作,用SqlDataAdapter和DataSet對(duì)象配合使用是離線式操作,具體采用哪種方法,作者可以根據(jù)實(shí)際情況著情使用。

巴彦淖尔市| 温州市| 上栗县| 尖扎县| 巩留县| 土默特右旗| 睢宁县| 长垣县| 元谋县| 泽库县| 佛山市| 南京市| 绿春县| 成安县| 安西县| 尉氏县| 晋宁县| 顺平县| 开原市| 娄底市| 贺州市| 民乐县| 邯郸市| 卢龙县| 股票| 涞源县| 台江县| 临高县| 调兵山市| 萨嘎县| 西华县| 达尔| 江川县| 安吉县| 固原市| 济宁市| 麦盖提县| 东安县| 吴桥县| 乌鲁木齐市| 阿尔山市|