大致說明ADO.NET模型認(rèn)證
經(jīng)過長時(shí)間學(xué)習(xí)ADO.NET模型,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。學(xué)習(xí)ADO.NET模型時(shí),這里將介紹ADO.NET模型問題的解決方法,在這里拿出來和大家分享一下。
一、SqlConnection對象
ADO.NET使用SqlConnection對象與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ù)庫名等信息。ADO.NET模型例如:string connectionString = "server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf";
然后通過連接字符串直接創(chuàng)建SqlConnection對象,如SqlConnection conn = new SqlConnection(connectionString);
二、SqlCommand對象
在ADO.NET中,有兩種操作數(shù)據(jù)庫的方式:
1.無連接的方式;#t#
2.保持連接的方式。
不論采用哪種方式,都可以通過SqlCommand對象提供的方法傳遞對數(shù)據(jù)庫操作的命令,ADO.NET模型并返回命令執(zhí)行的結(jié)果。在保持連接的方式下操作數(shù)據(jù)庫的一般步驟為:
1.創(chuàng)建SqlConnection的實(shí)例;
2.創(chuàng)建SqlCommand的實(shí)例;
3.打開連接;
4.執(zhí)行命令;
5.關(guān)閉連接。
SqlCommand對象提供了多種完成對數(shù)據(jù)庫操作的方法。常用有:
1.ExecuteNonQuery
該方法執(zhí)行SQL語句的結(jié)果,ADO.NET模型但不返回命令執(zhí)行的表數(shù)據(jù),僅返回操作所影響的行數(shù)。
2.ExecuteReader
ExecuteReader方法提供了只向前的、順序的快速讀取數(shù)據(jù)庫中數(shù)據(jù)的方法。該方法根據(jù)提供的SELECT語句,返回一個可以順序讀取的SqlDataReader對象,編程者可以使用Read方法循環(huán)依次讀取每個記錄中各字段(列)的內(nèi)容。
3.ExecuteScaler()
該方法用于執(zhí)行SELECT查詢,得到的返回結(jié)果為一個值的情況,比如使用count函數(shù)求表中記錄個數(shù)或者使用sum函數(shù)求和等。
三、SqlDataAdapter對象
SqlDataAdapter對象通過無連接的方式完成數(shù)據(jù)庫和本地DataSet之間的交互。使用這種方式操作數(shù)據(jù)庫的一般步驟為:
1.創(chuàng)建SqlConnection的實(shí)例;
2.創(chuàng)建SqlDataAdapter的實(shí)例,需要的話,ADO.NET模型根據(jù)select語句生成其他SQL語句;
3.創(chuàng)建DataSet的實(shí)例;
4.使用Fill方法將數(shù)據(jù)庫中的表填充到DataSet的表中;
5.利用DataGridView或者其他控件對象編輯或顯示數(shù)據(jù);
6.需要的話,使用Update方法更新數(shù)據(jù)庫。
SqlDataAdapter對象通過SelectCommand、InsertCommand、UpdateCommand和DeleteCommand屬性為后臺數(shù)據(jù)庫提供對應(yīng)的操作命令,并傳遞需要的參數(shù)。一般情況下,只需要提供SELECT語句和連接字符串創(chuàng)建SqlDataAdapter對象,然后利用SqlCommandBuilder對象生成ADO.NET模型、UpdateCommand和DeleteCommand屬性。v