ADO.NET的數據庫訪問小結

 

ADO.NET的數據庫訪問小結

 

ADO.NET的數據訪問對象是以下幾個:
  1、Connection對象:與數據源建立連接,連接sql server7.0 或更新版本數據庫用SqlConnection,連接OLEDB數據源使用OledbConnection.
  2、Command 對象:對數據源執行SQL命令並返回結果,SQL Server7.0或更新版本用SqlCommand,OLE DB數據源使用OledbCommand.
  3、DataReader對象: 讀取數據源的數據,只能將數據源的數據從頭到尾依次讀出,Sql server7.0或以上版本使用SqlDataReader,Oledb數據源使用OledbReader
  4、DataAdapter對象:對數據源執行操作並返回結果,在DataSet與數據源之間建立通信,將數據源中的數據寫入DataSet ,或根據DataSet中的數據必定數據源。Sql server7.0或以上版本使用SqlDataAdapter,Oledb 數據源使用OledbAdpater.
  5、DataSet對象:服務器內存中的數據庫
  6、DataView對象:用於顯示DataSet中的數據

  從數據庫中讀取紀錄的另一種方法是使用Dataset對象和Dataadapter對象.Dataset是ADO.NET的主要組件之一,它用於緩存從數據源檢索到的數據信息。Dataadapter作爲Dataset和數據源之間的橋接器,用於檢索和保存數據。Dataadapter從數據庫中獲取數據後使用Fill方法把數據填充到Dataset中。下面以Sqldataadapter爲例說明如何使用Dataset對象和Dataadapter對象從數據庫中讀取記錄。執行查詢的關鍵步驟如下:
  1、創建與數據庫建立連接的Sqlconnection,傳遞連接字符串。
  2、構造包含查詢語句的Sqldataadapter對象;
  3、若要使用查詢結果填充Dataset對象,則調用命令Fill方法。


  c#利用ado.net進行數據庫開發的基本步驟:
  1、創建和數據庫連接的connection 對象。
  2、配置DataAdapter對象並創建和操作數據集DataSet。
  3、將數據庫中的表添加到DataSet中。
  4、把數據集DataSet綁定到DataGrid上。利用DataAdapter 的Fill方法把數據填充到DataSet,最終的數據庫中的數據顯示在用戶界面的DataGrid中。


  c#中從數據庫查詢記錄的方法分類:
        一般使用兩種方法:
        一種是通過DataReader對象直接訪問;另一種則是通過數據集Dataset和Dataadapter對象訪問.
  使用ADO.NET的Datareader對象能從數據庫中檢索數據。檢索出來的數據形成一個只讀只進的數據流,存儲在客戶端的網絡緩衝區內。Datareader對象的read方法可以前進到一下條記錄。在默認情況下,每執行一次read方法只會在內存中存儲一條記錄系統的開銷非常少。
  創建datareader之前必須先創建sqlcommand對象,然後調用該對象的executereader方法來構造sqldatareader對象,而不是直接使用構造函數。
  下面的示例程序完成的功能是訪問sqlserver數據庫,並使用datareader從northwind數據中讀取記錄,並將查詢結果通過控制檯輸出。
  using System;
  using System.Data;
  using System.Data.SqlClient;
  namespace ReadDataFromDB{

  class Class1{

  static void Main(string[] args){
  string myconn="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
  //需要執行的SQL語句
  string mysql="select OrderID,CustomerID from Orders where CustomerID='CHOPS'";
  //打開數據庫連接。
    SqlConnection myconnection=new SqlConnection(myconn);
  myconnection.Open();
    //創建SqlCommand 對象
  SqlCommand mycommand=new(mysql,myconnection);
    //通過SqlCommand的ExecuteReader()方法構造DataReader 對象。
  SqlDataReader myreader=mycommand.ExecuteReader();
  while(myreader.read()){
  Console.WriteLine(myreader.GetInt32(0)+","+myreader.GetString(1));

  }
  myreader.Close();
  myconnection.Close();

  }

  }

  }

 

 

 

 

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