關(guān)于ADO.NET數(shù)據(jù)庫連接的相關(guān)知識(shí)的總結(jié)_.Net教程
推薦:淺析從零開始學(xué)習(xí)jQuery一、摘要 本章講解jQuery最重要的選擇器部分的知識(shí)。 有了jQuery的選擇器我們幾乎可以獲取頁面上任意的一個(gè)或一組對(duì)象, 可以明顯減輕開發(fā)人員的工作量。 二、前言 編寫任何javascript程序我們要首先獲得對(duì)象, jQuery選擇器能徹底改變我們平時(shí)獲取對(duì)象的方
ADO.NET提供了多種對(duì)象模型,比較典型的以下有五種,它們?nèi)繗w類在System.Data.SqlClient名稱空間下。
一、SqlConnection對(duì)象
ADO.NET使用SqlConnection對(duì)象與SQL Server進(jìn)行連接。連接字符串的常用形式有兩種:
1.使用Windows集成安全身份認(rèn)證,例如:string connectionString ="IntegratedSecurity=SSPI;Database=MyDatabase.mdf;Server=localhost;";
或:string connectionString = "Initial Catalog= MyDataBase; Data Source=localhost;Integrated Security=SSPI;"
2.在連接字符串中指定服務(wù)器名、用戶id、用戶口令、數(shù)據(jù)庫名等信息。例如:string connectionString = "server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf";
然后通過連接字符串直接創(chuàng)建SqlConnection對(duì)象,如SqlConnection conn = new SqlConnection(connectionString);
二、SqlCommand對(duì)象
在ADO.NET中,有兩種操作數(shù)據(jù)庫的方式:
1.無連接的方式;
2.保持連接的方式。
不論采用哪種方式,都可以通過SqlCommand對(duì)象提供的方法傳遞對(duì)數(shù)據(jù)庫操作的命令,并返回命令執(zhí)行的結(jié)果。
在保持連接的方式下操作數(shù)據(jù)庫的一般步驟為:
1.創(chuàng)建SqlConnection的實(shí)例;
2.創(chuàng)建SqlCommand的實(shí)例;
3.打開連接;
4.執(zhí)行命令;
5.關(guān)閉連接。
SqlCommand對(duì)象提供了多種完成對(duì)數(shù)據(jù)庫操作的方法。常用有:
1.ExecuteNonQuery
該方法執(zhí)行SQL語句的結(jié)果,但不返回命令執(zhí)行的表數(shù)據(jù),僅返回操作所影響的行數(shù)。
2.ExecuteReader
ExecuteReader方法提供了只向前的、順序的快速讀取數(shù)據(jù)庫中數(shù)據(jù)的方法。該方法根據(jù)提供的SELECT語句,返回一個(gè)可以順序讀取的SqlDataReader對(duì)象,編程者可以使用Read方法循環(huán)依次讀取每個(gè)記錄中各字段(列)的內(nèi)容。
3.ExecuteScaler()
該方法用于執(zhí)行SELECT查詢,得到的返回結(jié)果為一個(gè)值的情況,比如使用count函數(shù)求表中記錄個(gè)數(shù)或者使用sum函數(shù)求和等。
三、SqlDataAdapter對(duì)象
SqlDataAdapter對(duì)象通過無連接的方式完成數(shù)據(jù)庫和本地DataSet之間的交互。使用這種方式操作數(shù)據(jù)庫的一般步驟為:
1.創(chuàng)建SqlConnection的實(shí)例;
2.創(chuàng)建SqlDataAdapter的實(shí)例,需要的話,根據(jù)select語句生成其他SQL語句;
3.創(chuàng)建DataSet的實(shí)例;
4.使用Fill方法將數(shù)據(jù)庫中的表填充到DataSet的表中;
5.利用DataGridView或者其他控件對(duì)象編輯或顯示數(shù)據(jù);
6.需要的話,使用Update方法更新數(shù)據(jù)庫。
SqlDataAdapter對(duì)象通過SelectCommand、InsertCommand、UpdateCommand和DeleteCommand屬性為后臺(tái)數(shù)據(jù)庫提供對(duì)應(yīng)的操作命令,并傳遞需要的參數(shù)。一般情況下,只需要提供SELECT語句和連接字符串創(chuàng)建SqlDataAdapter對(duì)象,然后利用SqlCommandBuilder對(duì)象生成InsertCommand、UpdateCommand和DeleteCommand屬性。
四、DataTable對(duì)象
ADO.NET可以在與數(shù)據(jù)庫斷開連接的方式下通過DataSet或DataTable對(duì)象進(jìn)行數(shù)據(jù)處理,當(dāng)需要更新數(shù)據(jù)時(shí)才重新與數(shù)據(jù)源進(jìn)行連接,并更新數(shù)據(jù)源。DataTable對(duì)象表示保存在本機(jī)內(nèi)存中的表,它提供了對(duì)表中行列數(shù)據(jù)對(duì)象的各種操作。可以直接將數(shù)據(jù)從數(shù)據(jù)庫填充到DataTable對(duì)象中,也可以將DataTable對(duì)象添加到現(xiàn)有的DataSet對(duì)象中。在斷開連接的方式下,DataSet對(duì)象提供了和關(guān)系數(shù)據(jù)庫一樣的關(guān)系數(shù)據(jù)模型,代碼中可以直接訪問DataSet對(duì)象中的DataTable對(duì)象,也可以添加、刪除DataTable對(duì)象。
1. 創(chuàng)建DataTable對(duì)象
可以通過以下兩種方式創(chuàng)建DataTable對(duì)象:
1) 通過DataTable類的構(gòu)造函數(shù)創(chuàng)建DataTable對(duì)象,例如:
DataTable table = new DataTable();
2) 通過DataSet的Tables對(duì)象的Add方法創(chuàng)建DataTable對(duì)象,例如:
DataSet dataset = new DataSet();
DataTable table = dataset.Tables.Add("MyTableName");
2. 在DataTable對(duì)象中添加列
在DataTable對(duì)象中添加列的最常用的方法是通過DataTable對(duì)象的Column屬性中的Add方法。添加后的每一列都是一個(gè)DataColumn對(duì)象。
3. 設(shè)置DataTable對(duì)象的主鍵
關(guān)系數(shù)據(jù)庫中的表一般都有一個(gè)主鍵,用來惟一標(biāo)識(shí)表中的每一行記錄。通過DataTable對(duì)象的PrimaryKey屬性可以設(shè)置Datatable的主鍵。主鍵可以是一個(gè)或者多個(gè)DataColumn對(duì)象組成的數(shù)組。例如:
DataColumn[] key = new DataColumn[1];//dt是一個(gè)DataTable對(duì)象
key[0] = dt.Columns[0];
dt.PrimaryKey = key;
4. 在DataTable對(duì)象中創(chuàng)建行
DataTable對(duì)象的每一行都是一個(gè)DataRow對(duì)象,所以創(chuàng)建行時(shí)可以先利用DataTable對(duì)象的NewRow方法創(chuàng)建一個(gè)DataRow對(duì)象,并設(shè)置新行中各列的數(shù)據(jù),然后利用Add方法將DataRow對(duì)象添加到表中
5. 將SQL Server數(shù)據(jù)庫中的表填充到DataTable中
除了可以直接創(chuàng)建DataTable對(duì)象的行列信息外,也可以通過DateAdapter對(duì)象的Fill方法將SQL Server數(shù)據(jù)庫中的表填充到DataTable對(duì)象中。
五、DataSet對(duì)象
1. 創(chuàng)建DataSet對(duì)象
使用創(chuàng)建的DataSet對(duì)象可以完成各種數(shù)據(jù)操作,利用向?qū)傻臄?shù)據(jù)庫數(shù)據(jù)源是一個(gè)強(qiáng)類型的DataSet以及一對(duì)或多對(duì)強(qiáng)類型的DataTable和TableAdapter的組合。類型化的DataSet是一個(gè)生成的類,是從.NET Framework的一般DataSet類衍生來的,但提供了已定義的架構(gòu)以及特定于該架構(gòu)的屬性和方法。同時(shí),對(duì)于DataSet中的每個(gè)表,還生成了特定于該DataSet的附加衍生類,而且每個(gè)類都為相關(guān)的表提供了特定的架構(gòu)、屬性和方法。
當(dāng)然,也可以直接創(chuàng)建一般的DataSet對(duì)象,例如:
DataSet myDataset = new DataSet();
2. 填充DataSet對(duì)象
創(chuàng)建DataSet后,就可以使用SqlDataAdapter對(duì)象把數(shù)據(jù)導(dǎo)入到DataSet對(duì)象中,比如通過Fill方法將數(shù)據(jù)填充到DataSet中的某個(gè)表中。
分享:揭秘作為ASP.NET開發(fā)人員必須養(yǎng)成的編程習(xí)慣讓我們的程序?qū)懙酶悠揭捉耍由鷦?dòng)對(duì)我們的編程是大有益處的。對(duì)我們的程序?qū)W習(xí)也能起到事半功倍的作用。編程過程中遵守的不成文的標(biāo)準(zhǔn),對(duì)于我們和他人的交流和自己的再學(xué)習(xí)都是有益無害的。畢竟有時(shí)我們寫的程序不是只給自己看的,也不是一時(shí)興起,
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 使用ASP.NET AJAX框架擴(kuò)展HTML Map控件
- 談.NET平臺(tái)編程語言的未來
- ASP.NET筆記之 ListView 與 DropDownList的使用
- 淺析ASP.NET MVC :MVC頁面驗(yàn)證與授權(quán)
- ASP.NET 頁面事件執(zhí)行順序介紹
- asp.net Repeater分頁實(shí)例(PageDataSource的使用)
- 關(guān)于ASP.NET開發(fā)中Web標(biāo)準(zhǔn)的幾點(diǎn)建議
- 淺析微軟 ASP.NET 環(huán)境下的頁面驗(yàn)證控件
- 淺析C#中的Adapter設(shè)計(jì)模式
- SQL Server 2005中插入XML數(shù)據(jù)方法
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索關(guān)于ADO.NET數(shù)據(jù)庫連接的相關(guān)知識(shí)的總結(jié)
- 教程說明:
.Net教程-關(guān)于ADO.NET數(shù)據(jù)庫連接的相關(guān)知識(shí)的總結(jié)
。