ADO.NET——DataAdapter對象,ado.netdataadapter

來源:互聯網
上載者:User

ADO.NET——DataAdapter對象,ado.netdataadapter

   DataAdapter對象

   來源以及作用:前面我所介紹的ADO.NET對象中,例如Connection對象,Command對象以及DataReader對象,這些對象均屬於Data Provider的一部分,而且都是基於串連的。如果,每次我們檢索資料庫中的表或者行都需要串連一次資料庫,那麼效能和效率是十分低下的。實際上,ADO.NET提供了基於非串連的核心組件:DataSet。那麼儲存的資料集合是從哪裡來呢?ADO.NET就為DataSet提供了中介:DataApdater資料配接器。

   描述:DataAdapter對象提供串連 DataSet對象和資料來源的橋樑,DataAdapter 使用 Command 對象在資料來源中執行SQL命令以向DataSet中載入資料,並將對DataSet中資料的更改協調回資料來源。

   工作原理:DataApapter本質上就是一個資料調配器。當我們需要查詢資料時,它從資料庫檢索資料,並填充要本地的DataSet或者DataTable中;當我需要更新資料庫時,它將本地記憶體的資料填充到資料庫,並執行更新命令。

   功能:DataAdapter是最複雜的ADO.NET組件,是因為它是架構在所有其他DataProvider對象之上的。Connection對象、DataReader對象,Paramter對象以及Command對象,都儘可能的為它服務。總體來說,DataAdapter主要有三大功能:

   1、資料檢索:儘可能用最簡單的方法填充資料來源到本地DataSet或者DataTable中。細緻的說,DataAdapter用一個DataReader執行個體來檢索資料,因此你必須提供一個Select查詢語句以及一個連接字串。

   2、資料更新:將本地修改的資料返回給外部的資料來源,從資料庫查詢資料時,我們僅僅只需要一條基本的Select語句,而更新資料庫則需要區分Insert,Update,Delete語句。

   3、表或列名映射:維護本地DataSet表名和列名與外部資料源表名與列名的映射關係。

   屬性:

   1、SelectCommand對象:引用從資料來源中檢索的Command對象。

   2、UpdateCommand:引用將修改的行從DataSet寫入資料來源的Command對象。

   3、InsertCommand:引用將插入的行從DataSet寫入資料來源的Command對象

   4、DeleteCommand:引用從資料來源中刪除行的Command對象。

   方法:

   1、Fill:使用DataAdapter的這個方法,從資料來源增加或重新整理行,並將這些行放到DataSet表中。Fill方法調用SelectCommand屬性所指定的SELECT語句。

   2、Update:使用DataAdapter對象的這個方法,將DataSet表的更改傳送到相應的資料來源中。該方法為DataSet的DataTable中每一指定的行調用相應的INSERT、UPDATE或DELETE命令。

  應用舉例

public void SqlAdapterDemo(string connStr){  SqlConnection conn = new SqlConnection(connStr);   //建立連線物件  SqlCommand cmd = conn.CreateCommand();             //建立sql命令對象  cmd.CommandType = CommandType.Text;  cmd.CommandText = "select * from products = @ID";  //sql語句  cmd.Parameters.Add("@ID", SqlDbType.Int);          <span style="font-family:KaiTi_GB2312;">//添加參數</span>  cmd.Parameters["@ID"].Value = 1;                   //給參數sql語句的參數賦值  SqlDataAdapter adapter = new SqlDataAdapter();     //構造SqlDataAdapter  adapter.SelectCommand = cmd;                       <span style="color:#FF0000;">//與sql命令對象綁定,這個必不可少</span>  DataSet ds = new DataSet();  adapter.Fill(ds);                                  //填充資料。}
    感覺DataAdapter對象好高大上啊,它的使用必須以前面所講的Command對象和Connection對象為基礎,駕馭著它們兩個共同馳騁“資料來源世界。”
  

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.