ADO.NET的數(shù)據(jù)訪問對(duì)象是以下幾個(gè):
1、Connection對(duì)象:與數(shù)據(jù)源建立連接,連接sql server7.0 或更新版本數(shù)據(jù)庫用SqlConnection,連接OLEDB數(shù)據(jù)源使用OledbConnection.
2、Command 對(duì)象:對(duì)數(shù)據(jù)源執(zhí)行SQL命令并返回結(jié)果,SQL Server7.0或更新版本用SqlCommand,OLE DB數(shù)據(jù)源使用OledbCommand.
3、DataReader對(duì)象: 讀取數(shù)據(jù)源的數(shù)據(jù),只能將數(shù)據(jù)源的數(shù)據(jù)從頭到尾依次讀出,Sql server7.0或以上版本使用SqlDataReader,Oledb數(shù)據(jù)源使用OledbReader
4、DataAdapter對(duì)象:對(duì)數(shù)據(jù)源執(zhí)行操作并返回結(jié)果,在DataSet與數(shù)據(jù)源之間建立通信,將數(shù)據(jù)源中的數(shù)據(jù)寫入DataSet ,或根據(jù)DataSet中的數(shù)據(jù)必定數(shù)據(jù)源。Sql server7.0或以上版本使用SqlDataAdapter,Oledb 數(shù)據(jù)源使用OledbAdpater.
5、DataSet對(duì)象:服務(wù)器內(nèi)存中的數(shù)據(jù)庫
6、DataView對(duì)象:用于顯示DataSet中的數(shù)據(jù)
從數(shù)據(jù)庫中讀取紀(jì)錄的另一種方法是使用Dataset對(duì)象和Dataadapter對(duì)象.Dataset是ADO.NET的主要組件之一,它用于緩存從數(shù)據(jù)源檢索到的數(shù)據(jù)信息。Dataadapter作為Dataset和數(shù)據(jù)源之間的橋接器,用于檢索和保存數(shù)據(jù)。Dataadapter從數(shù)據(jù)庫中獲取數(shù)據(jù)后使用Fill方法把數(shù)據(jù)填充到Dataset中。下面以Sqldataadapter為例說明如何使用Dataset對(duì)象和Dataadapter對(duì)象從數(shù)據(jù)庫中讀取記錄。執(zhí)行查詢的關(guān)鍵步驟如下:
1、創(chuàng)建與數(shù)據(jù)庫建立連接的Sqlconnection,傳遞連接字符串。
2、構(gòu)造包含查詢語句的Sqldataadapter對(duì)象;
3、若要使用查詢結(jié)果填充Dataset對(duì)象,則調(diào)用命令Fill方法。
c#利用ado.net進(jìn)行數(shù)據(jù)庫開發(fā)的基本步驟:
1、創(chuàng)建和數(shù)據(jù)庫連接的connection 對(duì)象。
2、配置DataAdapter對(duì)象并創(chuàng)建和操作數(shù)據(jù)集DataSet。
3、將數(shù)據(jù)庫中的表添加到DataSet中。
4、把數(shù)據(jù)集DataSet綁定到DataGrid上。利用DataAdapter 的Fill方法把數(shù)據(jù)填充到DataSet,最終的數(shù)據(jù)庫中的數(shù)據(jù)顯示在用戶界面的DataGrid中。
c#中從數(shù)據(jù)庫查詢記錄的方法分類:
一般使用兩種方法:
一種是通過DataReader對(duì)象直接訪問;另一種則是通過數(shù)據(jù)集Dataset和Dataadapter對(duì)象訪問.
使用ADO.NET的Datareader對(duì)象能從數(shù)據(jù)庫中檢索數(shù)據(jù)。檢索出來的數(shù)據(jù)形成一個(gè)只讀只進(jìn)的數(shù)據(jù)流,存儲(chǔ)在客戶端的網(wǎng)絡(luò)緩沖區(qū)內(nèi)。Datareader對(duì)象的read方法可以前進(jìn)到一下條記錄。在默認(rèn)情況下,每執(zhí)行一次read方法只會(huì)在內(nèi)存中存儲(chǔ)一條記錄系統(tǒng)的開銷非常少。
創(chuàng)建datareader之前必須先創(chuàng)建sqlcommand對(duì)象,然后調(diào)用該對(duì)象的executereader方法來構(gòu)造sqldatareader對(duì)象,而不是直接使用構(gòu)造函數(shù)。
下面的示例程序完成的功能是訪問sqlserver數(shù)據(jù)庫,并使用datareader從northwind數(shù)據(jù)中讀取記錄,并將查詢結(jié)果通過控制臺(tái)輸出。
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";
//需要執(zhí)行的SQL語句
string mysql="select OrderID,CustomerID from Orders where CustomerID='CHOPS'";
//打開數(shù)據(jù)庫連接。
SqlConnection myconnection=new SqlConnection(myconn);
myconnection.Open();
//創(chuàng)建SqlCommand 對(duì)象
SqlCommand mycommand=new(mysql,myconnection);
//通過SqlCommand的ExecuteReader()方法構(gòu)造DataReader 對(duì)象。
SqlDataReader myreader=mycommand.ExecuteReader();
while(myreader.read()){
Console.WriteLine(myreader.GetInt32(0)+","+myreader.GetString(1));
}
myreader.Close();
myconnection.Close();
}
}
}