江凌+楊平利+楊梅+袁媛
摘要: SQL Server 是當(dāng)前較為常用的數(shù)據(jù)庫管理系統(tǒng)之一,具有速度快、功能強(qiáng)、易使用等特點(diǎn),它主要解決數(shù)據(jù)的存儲與管理問題。為了更好地實(shí)現(xiàn)對SQL Server數(shù)據(jù)庫的訪問,提出了新的數(shù)據(jù)庫訪問技術(shù)即ADO.NET。在此介紹了ADO.NET的核心組件和體系結(jié)構(gòu),闡述了利用ADO.NET訪問數(shù)據(jù)庫的2種不同方式,結(jié)合實(shí)例展示了利用ADO.NET訪問SQL Server 2005的基本過程,并給出了關(guān)鍵代碼,實(shí)現(xiàn)了對數(shù)據(jù)的有效管理。
關(guān)鍵詞: ADO.NET; 數(shù)據(jù)庫訪問; SQL Server; 數(shù)據(jù)庫管理
中圖分類號: TN911?34; TP311文獻(xiàn)標(biāo)識碼: A文章編號: 1004?373X(2014)08?0095?04
Programming of accessing SQL Server database based on ADO.NET
JIANG Ling, YANG Ping?li, Yang Mei, YUAN Yuan
(Northwest Institute of Nuclear Technology, Xian 710024, China)
Abstract:Being one of the most commonly?used database management systems, SQL Server has the characteristics of high speed, strong function and easy to use, and can solve the problems of data storage and management. In order to achieve a better way for accessing SQL Server, ADO.NET called as a new database access technology is proposed. The core components and the architecture of ADO.NET are simply introduced. Two different modes to access database using ADO.NET are explained. The basic process of using ADO.NET to access SQL Server is presented with an instance and the key codes are also given. The goal to efficiently manage data was achieved.
Keywords: ADO.NET; database access; SQL Server; database management
0引言
數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)科學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,也是應(yīng)用最廣泛的技術(shù)之一,它已成為計(jì)算機(jī)信息系統(tǒng)與應(yīng)用系統(tǒng)的核心技術(shù)和重要基礎(chǔ)。目前,數(shù)據(jù)庫系統(tǒng)已經(jīng)廣泛應(yīng)用于各個領(lǐng)域,例如管理信息系統(tǒng)、辦公自動化系統(tǒng)、圖書情報(bào)檢索系統(tǒng)等。數(shù)據(jù)庫系統(tǒng)的特點(diǎn)主要有以下幾個方面[1]:
(1) 數(shù)據(jù)結(jié)構(gòu)化。數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充;
(2) 數(shù)據(jù)獨(dú)立性高。數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)(DBMS)統(tǒng)一管理和控制。
隨著應(yīng)用程序的發(fā)展演變,越來越多的應(yīng)用程序需要通過網(wǎng)絡(luò)傳遞數(shù)據(jù)。Microsoft結(jié)合.NET框架為數(shù)據(jù)訪問提供全新的編程模型——ADO.NET。通過ADO.NET不僅能夠使應(yīng)用程序鏈接到數(shù)據(jù)源,檢索、操縱和更新數(shù)據(jù),而且能夠?qū)崿F(xiàn)對非關(guān)系數(shù)據(jù)庫的訪問。本文主要介紹在Visual C#.NET中如何利用ADO.NET進(jìn)行數(shù)據(jù)訪問,在數(shù)據(jù)庫的選用上,采用了微軟公司的SQL Server 2005。
1ADO.NET的體系結(jié)構(gòu)
ADO.NET是.NET Framework提供給.NET開發(fā)人員的一組類,以目前業(yè)界認(rèn)可與廣泛使用的XML為基礎(chǔ),提供一致的方法來訪問各種數(shù)據(jù)源和完善的數(shù)據(jù)訪問服務(wù),包括Microsoft SQL Server數(shù)據(jù)庫、ODBC、OLE DB數(shù)據(jù)源、Oracle數(shù)據(jù)源以及XML等[2]。
ADO.NET是一種全新的、強(qiáng)大的數(shù)據(jù)庫訪問技術(shù)[3]。它可將系統(tǒng)前端的用戶界面和后臺數(shù)據(jù)庫聯(lián)系起來,應(yīng)用程序可以通過ADO.NET來鏈接各種數(shù)據(jù)源,檢索、插入、修改和刪除數(shù)據(jù)源中的數(shù)據(jù)以及以快速、只讀、只進(jìn)的方式訪問數(shù)據(jù)[4]。用戶和系統(tǒng)之間一次典型的交互過程如圖1所示。
與傳統(tǒng)的訪問Web數(shù)據(jù)庫的方法相比較,ADO.NET數(shù)據(jù)訪問技術(shù)具有2個突出的優(yōu)點(diǎn):一是緊密集成XML作為數(shù)據(jù)傳輸標(biāo)準(zhǔn),使得ADO.NET能夠更加靈活地訪問各種不同類型的數(shù)據(jù);二是采用中斷式訪問模式,應(yīng)用程序只是在需要訪問或者更新數(shù)據(jù)時才會鏈接到數(shù)據(jù)庫,一旦完成后就立即斷開,完成此任務(wù)的就是ADO.NET的2個核心組件。
圖1 ADO.NET的數(shù)據(jù)訪問過程
ADO.NET提供2個核心組件:.NET Framework數(shù)據(jù)提供程序和DataSet[5]。ADO.NET的體系結(jié)構(gòu)如圖2所示。.NET Framework數(shù)據(jù)提供程序用于鏈接數(shù)據(jù)源、執(zhí)行SQL命令以及檢索數(shù)據(jù),檢索到的數(shù)據(jù)既可以直接處理,也可以放入DataSet對象中。.NET Framework數(shù)據(jù)提供程序通過在DataAdapter對象和DataSet之間建立聯(lián)系,使DataSet對象可以獲取來自多個數(shù)據(jù)源的數(shù)據(jù)。數(shù)據(jù)集DataSet是一個與數(shù)據(jù)源無關(guān)的內(nèi)存數(shù)據(jù)表示方法,用于高速緩存關(guān)系型數(shù)據(jù)。它像是一個簡化的關(guān)系數(shù)據(jù)庫,可以包含數(shù)據(jù)表、數(shù)據(jù)列和數(shù)據(jù)行,以及表與表之間的關(guān)系,并且完全是在脫機(jī)模式下進(jìn)行操作。
圖2 ADO.NET的體系結(jié)構(gòu)
1.1NET Framework數(shù)據(jù)提供程序
.NET Framework數(shù)據(jù)提供程序包括Connection對象、Command對象、DataReader對象和DataAdapter對象。
(1) Connection對象:Connection管理與SQL Server數(shù)據(jù)庫的鏈接,用于鏈接Microsoft SQL Server 7.0版或以上版本。Connection對象是通過ConnectionString屬性的設(shè)置來鏈接數(shù)據(jù)庫。
(2) Command對象:在ADO.NET中,一般使用Command對象來執(zhí)行SQL命令并從數(shù)據(jù)源中返回結(jié)果。
(3) DataReader對象:用于從數(shù)據(jù)源中獲取只讀的、單項(xiàng)的數(shù)據(jù)流。
(4) DataAdapter對象:是DataSet和數(shù)據(jù)源之間的橋梁,它可以隱藏和Connection對象、Command對象溝通的細(xì)節(jié),完成DataSet和數(shù)據(jù)源之間的數(shù)據(jù)交換。
1.2DataSet組件
(1) DataSet包含Tables(表)集合和Relations(關(guān)系)集合。Tables集合由DataTable對象組成,而Relations集合由DataRelation對象組成。
(2) 在DataSet的Tables集合中,每個DataTable對象又包含Rows(行)集合、Columns(列集合)集合、ChildRelations(子關(guān)系)集合和ParentRelations(父關(guān)系)集合。
因?yàn)镈ataSet的結(jié)構(gòu)和關(guān)系型數(shù)據(jù)庫類似,所以可以像訪問關(guān)系型數(shù)據(jù)庫那樣訪問DataSet??梢栽贒ataSet內(nèi)添加、刪除表,在表中使用Select方法查看數(shù)據(jù)、使用Delete方法刪除數(shù)據(jù)等。同時,DataSet可以看作由集合組成,因此還可以以集合的方法訪問DataSet中的數(shù)據(jù)。另外,DataSet還能夠完全看作XML格式的數(shù)據(jù),對DataSet可以按照XML數(shù)據(jù)的形式進(jìn)行訪問。
對于不同的應(yīng)用需要ADO.NET提供了2種模式來訪問數(shù)據(jù)源中的數(shù)據(jù):使用DataReader對象進(jìn)行基于鏈接的訪問和使用DataAdapter對象進(jìn)行非鏈接的訪問[6]。下面對2種訪問模式進(jìn)行分析和比較。
1.3基于鏈接的訪問模式
基于鏈接的訪問模式會占用一個數(shù)據(jù)庫鏈接,然后讀取數(shù)據(jù)。它是通過DataReader對象來實(shí)現(xiàn)的,DataReader對象在已經(jīng)建立的數(shù)據(jù)鏈接的基礎(chǔ)上,提供對數(shù)據(jù)源的單向的、只讀的數(shù)據(jù)流。由于DataReader可以順序地處理從數(shù)據(jù)源返回的結(jié)果,而且不在內(nèi)存中緩存,因此DataReader適合從數(shù)據(jù)源中檢索大量的、不需要進(jìn)行更新操作的數(shù)據(jù)。
1.4非鏈接的訪問模式
非鏈接的訪問模式是以Dataset為中心的數(shù)據(jù)訪問模式。Dataset中的數(shù)據(jù)是與數(shù)據(jù)庫斷開鏈接的[7]。一旦將結(jié)果存儲在Dataset之后,Dataset和數(shù)據(jù)庫之間便不再有鏈接。對Dataset內(nèi)容所做的修改不會直接影響到數(shù)據(jù)庫。它的優(yōu)點(diǎn)就在于處理非鏈接數(shù)據(jù)時是不需要始終與數(shù)據(jù)庫鏈接。
在Visual C#中利用ADO.NET訪問SQL Server 2005的基本過程。
首先,使用SQL Server 2005建立一個數(shù)據(jù)庫,假設(shè)該數(shù)據(jù)庫名為yjsCheck。在使用ADO.NET之前,需要先把有關(guān)的命名空間導(dǎo)入進(jìn)來[8]。即將下面的代碼加入到要進(jìn)行數(shù)據(jù)庫操作的C#程序中,其具體位置應(yīng)該在類聲明之前。
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data.SqlTypes;
1.5鏈接數(shù)據(jù)庫
建立數(shù)據(jù)庫鏈接是最基本的數(shù)據(jù)庫操作任務(wù)之一,一般情況下可以使用ADO.NET的Connection對象來完成鏈接數(shù)據(jù)庫的操作。下面的代碼示例演示了使用SqlConnection對象如何創(chuàng)建和打開數(shù)據(jù)庫鏈接。
SqlConnection sqlConn = new SqlConnection("Data Source=abcSQLSERVER2005;initial catalog=yjsCheck;integrated security=SSPI");
sqlConn.Open();
其中,“Data Source=abcSQLSERVER2005”為鏈接的數(shù)據(jù)源名稱,“initial catalog=yjsCheck”為鏈接的數(shù)據(jù)庫名稱,“integrated security=SSPI”表示使用Windows集成安全身份認(rèn)證。
鏈接數(shù)據(jù)庫并完成了對數(shù)據(jù)庫的操作之后,必須關(guān)閉與數(shù)據(jù)庫的鏈接??梢允褂肅onnection對象的Close()或Dispose()方法來完成。
1.6檢索并顯示數(shù)據(jù)
從數(shù)據(jù)庫中檢索數(shù)據(jù)記錄一般使用下面的2種方式:一種是通過DataReader對象直接訪問;另一種則是通過數(shù)據(jù)集DataSet和DataAdapter對象訪問。
使用ADO.NET的DataReader對象能從數(shù)據(jù)庫中檢索數(shù)據(jù)。檢索出來的數(shù)據(jù)形成一個只讀只進(jìn)的數(shù)據(jù)流。DataReader對象的Read方法可以前進(jìn)到下一條記錄。代碼如下:
string myConn = "Data Source=abcSQLSERVER2005;initial catalog=yjsCheck;integrated security=SSPI";
string str = "select HostIP,Unit1 from Information ";
//查詢Information表中的HostIP字段和Unit字段
SqlConnection sqlConn = new SqlConnection(myConn);
//使用Connection對象創(chuàng)建和數(shù)據(jù)庫的鏈接
SqlCommand sqlComm = new SqlCommand(str, sqlConn);
//創(chuàng)建SqlCommand對象并執(zhí)行查詢的SQL命令
sqlConn.Open();//打開鏈接
SqlDataReader myReader; //創(chuàng)建SqlDataReader對象
myReader = sqlComm.ExecuteReader();
while (myReader.Read())
//循環(huán)遍歷SqlDataReader中的每條記錄,直到完成
{
……對數(shù)據(jù)庫操作代碼
}
myReader.Close();//關(guān)閉SqlDataReader對象
sqlConn.Close(); //關(guān)閉鏈接
從數(shù)據(jù)庫中讀取記錄的另一種方法是使用DataSet對象和DataAdapter對象。關(guān)鍵步驟如下:
(1) 創(chuàng)建數(shù)據(jù)庫的鏈接;
(2) 構(gòu)造包含查詢語句的SqlDataAdapter對象;
(3) 調(diào)用Fill方法把數(shù)據(jù)填充到DataSet中;
(4) 關(guān)閉鏈接。
代碼如下:
string myConn = "Data Source=abcSQLSERVER2005;initial catalog=yjsCheck;integrated security=SSPI";
string str = "select HostIP,Unit1 from Information ";
//查詢Information表中的HostIP字段和Unit字段
SqlConnection sqlConn = new SqlConnection(myConn);
//使用Connection對象創(chuàng)建和數(shù)據(jù)庫的鏈接
SqlDataAdapter myDataAdapter = new SqlDataAdapter(str, sqlConn);
//創(chuàng)建SqlDataAdapter對象
sqlConn.Open();
DataSet ds = new DataSet(); //創(chuàng)建DataSet對象
myDataAdapter.Fill(ds, "Information");
//SqlDataAdapter對象通過Fill方法把數(shù)據(jù)添加到DataSet中
{
……對數(shù)據(jù)庫操作代碼
}
sqlConn.Close();
當(dāng)需要確定應(yīng)用程序應(yīng)使用DataReader還是應(yīng)使用DataSet時,應(yīng)考慮應(yīng)用程序所需的功能類型。DataSet用于組合并關(guān)聯(lián)來自多個源的數(shù)據(jù),對數(shù)據(jù)執(zhí)行大量的處理,而不需要與數(shù)據(jù)源保持打開的鏈接,從而將該鏈接釋放給其他客戶端使用。如果不需要DataSet所提供的功能,則可以使用DataReader以只進(jìn)只讀方式返回?cái)?shù)據(jù),從而提高應(yīng)用程序的效率。
1.7添加和刪除數(shù)據(jù)
(1) 添加操作
代碼如下:
string myConn = "Data Source=abcSQLSERVER2005;initial catalog=yjsCheck;integrated security=SSPI";
string str = "insert into Information(Keywords,Degree) values (@keywords,@degree)";//SQL語句的插入操作SqlConnection sqlConn = new SqlConnection(myConn);
SqlCommand sqlComm = new SqlCommand(str, sqlConn);
sqlComm.Parameters.Add(new SqlParameter("@keywords",SqlDbType.NVarChar,100));
//使用SqlCommand對象的Parameters集合填充命令的值
sqlComm.Parameters["@keywords"].Value=textBox1.Text;
sqlComm.Parameters.Add(new SqlParameter("@degree",SqlDbType.Float));
sqlComm.Parameters["@degree"].Value=textBox2.Text;
sqlConn.Open();
try {
sqlComm.ExecuteNonQuery(); }
catch (SqlException ex)
{ MessageBox.Show("有誤:" + ex.Message.ToString());
}//異常處理
sqlConn.Close();
(2) 刪除操作
代碼如下:
將添加操作中的語句:
string str = "insert into Information(Keywords,Degree) values (@keywords,@degree)";//SQL語句的插入操作
改為:
string str = "delete from Information where Keywords=@keywords";//SQL語句的刪除操作
其他語句相同。
2結(jié)語
ADO.NET為數(shù)據(jù)庫的訪問提供了一種全新的、簡單高效的數(shù)據(jù)庫訪問技術(shù)[9],具有執(zhí)行速度快,編程方式靈活等優(yōu)點(diǎn)[10],功能強(qiáng)大,使用方便。它能夠?qū)^大部分?jǐn)?shù)據(jù)源進(jìn)行高效的訪問,是應(yīng)用程序和數(shù)據(jù)庫之間的一座重要橋梁,本文對從事數(shù)據(jù)庫開發(fā)的技術(shù)人員有一定的借鑒作用。
參考文獻(xiàn)
[1] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2002.
[2] 申朝陽,宋顏浩.ASP.NET與數(shù)據(jù)庫技術(shù)高級指南[M].北京:中國水利水電出版社,2005.
[3] 張奇,李律松,衛(wèi)建偉,等.Visual C#數(shù)據(jù)庫項(xiàng)目案例導(dǎo)航[M].北京:清華大學(xué)出版社,2005.
[4] 路紅武.基于.NET企業(yè)信息資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2005,18(6):21?23.
[5] 李律松,陳少剛,沈剛,等.Visual C#數(shù)據(jù)庫高級教程[M].北京:清華大學(xué)出版社,2005.
[6] 周曉娟.基于ADO.NET的數(shù)據(jù)庫訪問技術(shù)研究[J].現(xiàn)代商貿(mào)工業(yè),2009(24):293?295.
[7] SCEPPA David.ADO.NET2.0技術(shù)內(nèi)幕[M].北京:清華大學(xué)出版社,2007.
[8] ROBINSON Simon, NAGEL Christian.C#高級編程[M].李敏波,譯.3版.北京:清華大學(xué)出版社,2005.
[9] 李成楠,楊晶.基于ADO.NET數(shù)據(jù)庫訪問技術(shù)淺析[J].科技創(chuàng)新導(dǎo)報(bào),2012(12):33?35.
[10] 桑國珍.數(shù)據(jù)庫訪問技術(shù)的研究[J].現(xiàn)代電子技術(shù),2010,33(20):83?85.
當(dāng)需要確定應(yīng)用程序應(yīng)使用DataReader還是應(yīng)使用DataSet時,應(yīng)考慮應(yīng)用程序所需的功能類型。DataSet用于組合并關(guān)聯(lián)來自多個源的數(shù)據(jù),對數(shù)據(jù)執(zhí)行大量的處理,而不需要與數(shù)據(jù)源保持打開的鏈接,從而將該鏈接釋放給其他客戶端使用。如果不需要DataSet所提供的功能,則可以使用DataReader以只進(jìn)只讀方式返回?cái)?shù)據(jù),從而提高應(yīng)用程序的效率。
1.7添加和刪除數(shù)據(jù)
(1) 添加操作
代碼如下:
string myConn = "Data Source=abcSQLSERVER2005;initial catalog=yjsCheck;integrated security=SSPI";
string str = "insert into Information(Keywords,Degree) values (@keywords,@degree)";//SQL語句的插入操作SqlConnection sqlConn = new SqlConnection(myConn);
SqlCommand sqlComm = new SqlCommand(str, sqlConn);
sqlComm.Parameters.Add(new SqlParameter("@keywords",SqlDbType.NVarChar,100));
//使用SqlCommand對象的Parameters集合填充命令的值
sqlComm.Parameters["@keywords"].Value=textBox1.Text;
sqlComm.Parameters.Add(new SqlParameter("@degree",SqlDbType.Float));
sqlComm.Parameters["@degree"].Value=textBox2.Text;
sqlConn.Open();
try {
sqlComm.ExecuteNonQuery(); }
catch (SqlException ex)
{ MessageBox.Show("有誤:" + ex.Message.ToString());
}//異常處理
sqlConn.Close();
(2) 刪除操作
代碼如下:
將添加操作中的語句:
string str = "insert into Information(Keywords,Degree) values (@keywords,@degree)";//SQL語句的插入操作
改為:
string str = "delete from Information where Keywords=@keywords";//SQL語句的刪除操作
其他語句相同。
2結(jié)語
ADO.NET為數(shù)據(jù)庫的訪問提供了一種全新的、簡單高效的數(shù)據(jù)庫訪問技術(shù)[9],具有執(zhí)行速度快,編程方式靈活等優(yōu)點(diǎn)[10],功能強(qiáng)大,使用方便。它能夠?qū)^大部分?jǐn)?shù)據(jù)源進(jìn)行高效的訪問,是應(yīng)用程序和數(shù)據(jù)庫之間的一座重要橋梁,本文對從事數(shù)據(jù)庫開發(fā)的技術(shù)人員有一定的借鑒作用。
參考文獻(xiàn)
[1] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2002.
[2] 申朝陽,宋顏浩.ASP.NET與數(shù)據(jù)庫技術(shù)高級指南[M].北京:中國水利水電出版社,2005.
[3] 張奇,李律松,衛(wèi)建偉,等.Visual C#數(shù)據(jù)庫項(xiàng)目案例導(dǎo)航[M].北京:清華大學(xué)出版社,2005.
[4] 路紅武.基于.NET企業(yè)信息資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2005,18(6):21?23.
[5] 李律松,陳少剛,沈剛,等.Visual C#數(shù)據(jù)庫高級教程[M].北京:清華大學(xué)出版社,2005.
[6] 周曉娟.基于ADO.NET的數(shù)據(jù)庫訪問技術(shù)研究[J].現(xiàn)代商貿(mào)工業(yè),2009(24):293?295.
[7] SCEPPA David.ADO.NET2.0技術(shù)內(nèi)幕[M].北京:清華大學(xué)出版社,2007.
[8] ROBINSON Simon, NAGEL Christian.C#高級編程[M].李敏波,譯.3版.北京:清華大學(xué)出版社,2005.
[9] 李成楠,楊晶.基于ADO.NET數(shù)據(jù)庫訪問技術(shù)淺析[J].科技創(chuàng)新導(dǎo)報(bào),2012(12):33?35.
[10] 桑國珍.數(shù)據(jù)庫訪問技術(shù)的研究[J].現(xiàn)代電子技術(shù),2010,33(20):83?85.
當(dāng)需要確定應(yīng)用程序應(yīng)使用DataReader還是應(yīng)使用DataSet時,應(yīng)考慮應(yīng)用程序所需的功能類型。DataSet用于組合并關(guān)聯(lián)來自多個源的數(shù)據(jù),對數(shù)據(jù)執(zhí)行大量的處理,而不需要與數(shù)據(jù)源保持打開的鏈接,從而將該鏈接釋放給其他客戶端使用。如果不需要DataSet所提供的功能,則可以使用DataReader以只進(jìn)只讀方式返回?cái)?shù)據(jù),從而提高應(yīng)用程序的效率。
1.7添加和刪除數(shù)據(jù)
(1) 添加操作
代碼如下:
string myConn = "Data Source=abcSQLSERVER2005;initial catalog=yjsCheck;integrated security=SSPI";
string str = "insert into Information(Keywords,Degree) values (@keywords,@degree)";//SQL語句的插入操作SqlConnection sqlConn = new SqlConnection(myConn);
SqlCommand sqlComm = new SqlCommand(str, sqlConn);
sqlComm.Parameters.Add(new SqlParameter("@keywords",SqlDbType.NVarChar,100));
//使用SqlCommand對象的Parameters集合填充命令的值
sqlComm.Parameters["@keywords"].Value=textBox1.Text;
sqlComm.Parameters.Add(new SqlParameter("@degree",SqlDbType.Float));
sqlComm.Parameters["@degree"].Value=textBox2.Text;
sqlConn.Open();
try {
sqlComm.ExecuteNonQuery(); }
catch (SqlException ex)
{ MessageBox.Show("有誤:" + ex.Message.ToString());
}//異常處理
sqlConn.Close();
(2) 刪除操作
代碼如下:
將添加操作中的語句:
string str = "insert into Information(Keywords,Degree) values (@keywords,@degree)";//SQL語句的插入操作
改為:
string str = "delete from Information where Keywords=@keywords";//SQL語句的刪除操作
其他語句相同。
2結(jié)語
ADO.NET為數(shù)據(jù)庫的訪問提供了一種全新的、簡單高效的數(shù)據(jù)庫訪問技術(shù)[9],具有執(zhí)行速度快,編程方式靈活等優(yōu)點(diǎn)[10],功能強(qiáng)大,使用方便。它能夠?qū)^大部分?jǐn)?shù)據(jù)源進(jìn)行高效的訪問,是應(yīng)用程序和數(shù)據(jù)庫之間的一座重要橋梁,本文對從事數(shù)據(jù)庫開發(fā)的技術(shù)人員有一定的借鑒作用。
參考文獻(xiàn)
[1] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2002.
[2] 申朝陽,宋顏浩.ASP.NET與數(shù)據(jù)庫技術(shù)高級指南[M].北京:中國水利水電出版社,2005.
[3] 張奇,李律松,衛(wèi)建偉,等.Visual C#數(shù)據(jù)庫項(xiàng)目案例導(dǎo)航[M].北京:清華大學(xué)出版社,2005.
[4] 路紅武.基于.NET企業(yè)信息資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2005,18(6):21?23.
[5] 李律松,陳少剛,沈剛,等.Visual C#數(shù)據(jù)庫高級教程[M].北京:清華大學(xué)出版社,2005.
[6] 周曉娟.基于ADO.NET的數(shù)據(jù)庫訪問技術(shù)研究[J].現(xiàn)代商貿(mào)工業(yè),2009(24):293?295.
[7] SCEPPA David.ADO.NET2.0技術(shù)內(nèi)幕[M].北京:清華大學(xué)出版社,2007.
[8] ROBINSON Simon, NAGEL Christian.C#高級編程[M].李敏波,譯.3版.北京:清華大學(xué)出版社,2005.
[9] 李成楠,楊晶.基于ADO.NET數(shù)據(jù)庫訪問技術(shù)淺析[J].科技創(chuàng)新導(dǎo)報(bào),2012(12):33?35.
[10] 桑國珍.數(shù)據(jù)庫訪問技術(shù)的研究[J].現(xiàn)代電子技術(shù),2010,33(20):83?85.