關(guān)于ADO.NET數(shù)據(jù)庫連接的相關(guān)知識(shí)的總結(jié)_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:淺析從零開始學(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í)興起,

      來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2009-07-19
      相關(guān).Net教程