ADO.NET類、對象詳解

Connection 類

  和數據庫交互,你必須連接它。連接幫助指明數據庫服務器、數據庫名字、用戶名、密碼,和連接數據庫所需要的其它參數。Connection對象會被Command對象使用,這樣就能夠知道是在哪個數據源上面執行命令。

  與數據庫交互的過程意味着你必須指明想要執行的操作。這是依靠Command對象執行的。你使用Command對象來發送SQL語句給數據庫。Command對象使用Connection對象來指出與哪個數據源進行連接。你能夠單獨使用Command對象來直接執行命令,或者將一個Command對象的引用傳遞給DataAdapter,它保存了一組能夠操作下面描述的一組數據的命令。

Command對象

  成功於數據建立連接後,就可以用Command對象來執行查詢、修改、插入、刪除等命令; Command對象常用的方法有ExecuteReader方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入數據可用ExecuteNonQuery()方法來執行插入命令。

 

        1.ExecuteNonQuery();它的返回值類型爲int型。多用於執行增加,刪除,修改數據。返回受影響的行數。

  2.ExecuteReader();它的返回類型爲SqlDataReader。此方法用於用戶進行的查詢操作。使用SqlDataReader對象的Read();方法進行逐行讀取。

  例如:

  SqlCommand comm =new SqlCommand("select * from CGSZ where cid="+id,conn);

  SqlDataReader reder=comm.ExecuteReader();

  while(reder.Read())

  {

  //讀出內容列

  string str=reder["cname"].ToString();

  //讀取分類列

  string str1=reder["ckind"].ToString();

  //分別爲文本框加載數據

  this.txtContent.Text = str;

  this.txtClass.Text = str1;

  }

  其中的讀取數據列的時候。除了使用reder["列名"].ToString();還可以使用reder[索引].ToSting();<注意:這裏的索引指的是數據庫中列的索引。從0開始。>

  3.ExecuteScaler();它的返回值類型多位int類型。它返回的多爲執行select查詢。得到的返回結果爲一個值的情況,比如使用count函數求表中記錄個數或者使用sum函數求和等。

DataReader類

  許多數據操作要求你只是讀取一串數據。DataReader對象允許你獲得從Command對象的SELECT語句得到的結果。考慮性能的因素,從DataReader返回的數據都是快速的且只是“向前”的數據流。這意味着你只能按照一定的順序從數據流中取出數據。這對於速度來說是有好處的,但是如果你需要操作數據,更好的辦法是使用DataSet。

DataSet對象

  DataSet對象是數據在內存中的表示形式。它包括多個DataTable對象,而DataTable包含列和行,就象一個普通的數據庫中的表。你甚至能夠定義表之間的關係來創建主從關係(parent-child relationships)。DataSet是在特定的場景下使用――幫助管理內存中的數據並支持對數據的斷開操作的。DataSet是被所有Data Providers使用的對象,因此它並不像Data Provider一樣需要特別的前綴。

DataAdapter類

  某些時候你使用的數據主要是隻讀的,並且你很少需要將其改變至底層的數據源。同樣一些情況要求在內存中緩存數據,以此來減少並不改變的數據被數據庫調用的次數。DataAdapter通過斷開模型來幫助你方便的完成對以上情況的處理。當在一單批次的對數據庫的讀寫操作的持續的改變返回至數據庫的時候,DataAdapter 填充(fill)DataSet對象。DataAadapter包含對連接對象以及當對數據庫進行讀取或者寫入的時候自動的打開或者關閉連接的引用。另外,DataAdapter包含對數據的SELECT、INSERT、UPDATE和DELETE操作的Command對象引用。你將爲DataSet中的每一個Table都定義DataAadapter,它將爲你照顧所有與數據庫的連接。所有你將做的工作是告訴DataAdapter什麼時候裝載或者寫入到數據庫。

DataTable類

  DataTable 是一個數據網格控件。它可以被應用在 VB 和 ASP 上。它無須代碼就可以簡單的綁定數據庫。它具有微軟風格的用戶界面。

  DataTable的實例化以及添加列:

  DataTable dt = new DataTable();

  dt.Columns.Add("ID");

  dt.Columns.Add("Name");

  DataRow dr = dt.NewRow();

  object[] objs = { 1, "Name" };

  dr.ItemArray = objs;

  dt.Rows.Add(dr);

  this.dataGridView1.DataSource = dt;

編輯本段總結

  ADO.NET是與數據源交互的.NET技術。有許多的Data Providers,它將允許與不同的數據源交流――取決於它們所使用的協議或者數據庫。然而無論使用什麼樣的Data Provider,你將使用相似的對象與數據源進行交互。SqlConnection對象管理與數據源的連接。SqlCommand對象允許你與數據源交流併發送命令給它。爲了對進行快速的只“向前”地讀取數據,使用SqlDataReader。如果想使用斷開數據,使用DataSet並實現能進行讀取或者寫入數據源的SqlDataAdapter。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章