雖然我們都知道ADO.NET是對數(shù)據(jù)庫的操作,但是要真的說出ADO.NET的具體含義還不是很容易。
ADO.NET是ActiveX Data Objects的縮寫,它是一個COM組件庫,用于在microsoft技術(shù)中訪問數(shù)據(jù)。之所以叫ADO.NET,應(yīng)該是微軟自己打的廣告,希望在NET編程環(huán)境中優(yōu)先使用這種數(shù)據(jù)訪問接口。上面這段話基本來自百度百科。簡單來說,ADO.NET就是一種數(shù)據(jù)訪問接口,可以讓我們在程序中調(diào)用相應(yīng)的類庫對數(shù)據(jù)庫(通常為SQL Server,也可以是access 等其他數(shù)據(jù)庫)進(jìn)行增刪改查等操作。
ADO.NET的幾大組成部分
ADO.NET由五大類庫組成,分別是:
Connection(用于建立與 數(shù)據(jù)庫的連接)
Command(用于執(zhí)行SQL語句)
DataReader(用于讀取數(shù)據(jù))
DataAdapter(用于填充把數(shù)據(jù)填充到DataSet)
DataSet(數(shù)據(jù)集,用于程序中)
通常,從程序中訪問數(shù)據(jù)庫的方法是:
創(chuàng)建一個到數(shù)據(jù)庫的連接
打開數(shù)據(jù)庫連接
創(chuàng)建ADO記錄集
從記錄集中提取需要的數(shù)據(jù)
關(guān)閉記錄集
關(guān)閉連接
下面就分別根據(jù)這一個過程結(jié)合ADO.NET的五大類庫進(jìn)行解釋。
要想使用ADO.NET需要在程序中引用System.Data.SqlClient。其中包含了對Sql Server進(jìn)行操作的數(shù)據(jù)訪問類:
SqlConnection:連接數(shù)據(jù)庫
SqlCommand:數(shù)據(jù)庫命名對象
SqlCommandBuilder:生成SQL命令
SqlDataReader:數(shù)據(jù)讀取器
SqlDataAdapter:數(shù)據(jù)適配器,用于填充DataSet
SqlParameter:為存儲過程定義參數(shù)
SqlTransaction:數(shù)據(jù)庫事務(wù)
建立連接
首先,要想訪問數(shù)據(jù)庫,我們需要一個媒介把程序與數(shù)據(jù)庫連接起來。這就是連接字符串,它的基本語法為:Data Source(數(shù)據(jù)源) + Initial Catalog(數(shù)據(jù)庫名稱) + User ID(用戶名) + Password(密碼)。
或者
注意:對于Sql Server來說,它支持兩種身份驗(yàn)證方法,一種是windows身份驗(yàn)證,另一種是Sql Server身份驗(yàn)證。如果要用windows身份驗(yàn)證,就需要在連接字符串中包括Integrated Security屬性。該屬性默認(rèn)為False。需要設(shè)置為True后才能使用windows身份驗(yàn)證。
除了這幾個必須的字段,連接字符串中還有許多可選的屬性,在這里我就不一一列舉,列出一些相關(guān)資料供感興趣的朋友自行查閱,一個連接字符串可以包含哪些屬性。
接著,有了連接字符串就可以創(chuàng)建連接對象了。
SqlConnection connection = new SqlConnection(connecString);
或者可以使用專門的連接字符串生成器:
然后使用連接對象可以打開或關(guān)閉連接。
connection.Open();
connection.Close();
執(zhí)行命令
打開連接之后就可以操作數(shù)據(jù)庫了,在這里需要用到SqlCommand命令對象。
它具有四個主要屬性,這些屬性會在初始化的時候賦默認(rèn)值:
CommandText:空字符串(”“)
CommandTimeout:30
CommandType:CommandType.Text
Connection:Null
創(chuàng)建命令對象:
- SqlCommand command = connection.CreateCommand();
新聞熱點(diǎn)
疑難解答
圖片精選