ADO.NET(數據庫訪問技術)


 

【ADO.net結構】:

  ADO.NET用於訪問和操作數據庫的兩個主要組件是:.NET Framework 數據提供程序DataSet

    a、.NET Framework數據提供程序:是專門為數據操作設計的組件,用於處理不同的數據源,支持訪問特定的數據庫執行SQL命令檢索結果

    b、.NET Framework數據提供程序包含4個核心對象:

       Connection:(連接)建立與特定數據源的連接;

        Command:(命令)對數據源執行命令;

        DataReader:( 數據讀取)從數據源中讀取只進<只能前進不能后退>只讀<只能讀取>的數據流;

        DataAdapter:(數據適配器)使用數據源填充DataSet並解決更新。

  【注意】:由於數據源不同,上面4個對象分別針對不同的數據源在.NET Framework數據提供程序中有不同的實現。

    SQL Server數據庫需要使用”System.Data.SqlClient命名空間“,

         核心對象分別為:SqlConnectionSqlCommandSqlDataReaderSqlDataAdapter;

    Access數據庫需要使用”System.Data.OleDb命名空間“,

         核心對象分別為:OleDbConnectionOleDbCommandOleDbDataReaderOleDbDataAdapter;

    c、DataSet:專門為獨立於所有數據源的數據訪問而設計的,它在支持ADO.NET中的斷開式分布式數據方案中起着至關重要的作用。

        DataSet包含一個或多個DataTable對象的集合,這些對象由數據行數據列以及有關DataTable對象中的數據主鍵外鍵約束關系信息組成。

【操作數據庫的方法】:

  1、使用ConnectionCommandDataReader對象實現非斷開式訪問數據庫。

    ⑴、更新數據或讀取單個數據操作:

      a、創建Connection對象並打開連接;

      b、創建Command對象;

      c、執行相應命令;

      d、關閉數據庫連接。

    ⑵、讀取多個數據操作:

      a、創建Connection對象並打開連接;

      b、創建Command對象;

      c、執行相應命令,獲取DataReader對象;

      d、使用DataReader對象讀取數據;

      e、關閉DataRrader對象;

      f、關閉數據庫連接。

  2、使用ConnectionDataAdapterDataSet對象實現斷開式訪問數據庫。

    a、創建Connection對象、DataReader對象和DataSet對象;

    b、使用DataAdapter對象將數據庫中所請求的數據填充到DataSet對象中;

    c、更新DataSet對象中的數據;

    d、使用DataAdapter對象將DataSet對象中的數據回傳到數據庫中。

【ADO.NET中的核心對象】:Conneciton對象、Command對象和DataReader對象。

  a、Coneciton對象用於連接數據庫,是在應用程序和數據庫之間建立一條數據傳輸通道,只有創建並打開連接,應用程序才能操作數據庫中的數據.

  b、Command對象用於執行對數據庫中的數據進行增、刪、改、查的命令。在操作的過程中,必須保持應用程序和數據庫之間的連接。

  c、DataReader對象提供了一個只進只讀的數據讀取器,用於從查詢結果中讀取數據,它每次僅能讀取一行數據。

【全步驟】:

  1、創建Connection對象;

    【語法】:SqlConnection  連接對象名=new SqlConnection(連接字符串);

  2、打開數據庫連接;

    【語法】:連接對象名.Open();

  3、定義需要執行的T-SQL語句;定義String類型的字符串用於保存需要執行的T-SQL語句

  4、創建Command對象;

    【語句】:SqlCommand 命令對象名=new SqlCommand("T-SQL語句",Connection對象);

  5、執行命令,獲得DataReader對象;

    【語句】:SqlDataReader  讀取器對象名=命令對象.command.ExecuteReader();

  6、使用循環,逐行讀取數據;Read方法具有bool類型的返回值。若能讀取到數據,則返回true,否則返回false.

    【語句】:while(讀取器對象名.Read())

         {

         }

  7、獲取當前行中的某一列數據;(可以使用索引或列名來獲取當前的某一行數據,索引從0開始,且獲取數據時需要進行顯式類型轉換)

    【語句】:讀取器對象名[索引或列名];

  8、關閉DataRead對象;數據讀取完畢必須關閉DataReader對象,因為在讀取數據時,DataReader對象將獨占連接,此時,就無法使用當前連接對象執行其他操作。

    【語句】:讀取器對象名.Close();

  9、關閉連接對象。

    【語法】:連接對象名.Close();

 

--------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------

【實際運用是主要分兩種情況】:

  1、對於Insert、Update、Delete等單向操作:

    

 

  2、對於Select的雙向操作:

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM