ADO.NET 對象介紹(一)

作者:vkvi 來源:千一網絡(原創) 日期:2007-6-26

ADO.NET 對象眾多,我們將其分成兩大類,第一類是直接與數據庫相關的對象,以 Sql 或 OleDb 開頭,第二類是與 DataSet 相關的,諸如數據表、數據視圖等。

本文屬 .NET Framework 1.0 范疇,2.0 中兼容。


這一節介紹的對象有:Connection、Command、DataReader、DataAdapter,但在編程中并不使用這幾個單詞作為對象名稱,還需要在前面加上 Sql 或 OleDb,加上 Sql 的對象實用于 MS SQL Server 7.0 及以上版本,加上 OleDb 的對象適用于所有數據庫(管理系統),使用 Sql 開頭的對象操作 MS SQL Server 數據庫要比使用 OleDb 開頭的對象操作 MS SQL Server 數據庫性能優越,所以在數據庫使用 MS SQL Server 時,應該使用 Sql 開頭的對象,否則微軟也不會單獨開發出一系列針對 MS SQL Server 的對象了。

使用 Sql 開頭的對象,名稱空間是:

System.Data.SqlClient

使用 OleDb 開頭的對象,名稱空間是:

System.Data.OleDb

SqlConnection 和 OleDbConnection

Connection 對象用于建立和數據庫的連接。對于 SqlConnection 不需要指明 provider,因為其驅動是固定的,而對于 OleDbConnection 則需要指明 provider 用以說明需要什么數據庫驅動。

SqlConnection conn = new SqlConnection("server=(local);User ID=foo;Password=foo;Initial Catalog=foo");

SqlCommand 和 OleDbCommand

Command 對象用于對數據庫進行操作。

SqlCommand cmd = new SqlCommand("select * from tbl", conn); //conn 為 SqlConnection 對象

SqlDataReader 和 OleDbDataReader

DataReader 對象讀取數據庫中的數據,它從數據庫返回一個只讀的、僅向前的數據流,當前內存中每次僅存在一條記錄,所以它相對 ADO 的 RecordSet 性能非常優越。SqlDataReader 和 OleDbDataReader 的屬性和方法還是有一定區別的,因為面向的數據庫字段類型不同。

SqlDataReader dr = cmd.ExecuteReader(); //cmd 為 SqlCommand 對象

SqlDataAdapter 和 OleDbDataAdapter

DataAdapter 對象建立、初始化 DataTable,從而和 DataSet 對象結合起來在內存中存放數據,DataAdapter 對象能隱藏和 Connection、Command 對象溝通的細節,所以在使用 DataAdapter 時不需要指明 conn.Open(conn 為 Connection 對象),而使用 Command 和 DataReader 則需要指明 conn.Open。

DataAdapter 與下一節的 DataSet 密切相關。

你前面那位網友看了:Clustered Index Scan 與 Clustered Index Seek

▲▲▲嘿,歡迎轉載傳播本站原創文章,盡量保留來源噢。▲▲▲

文章評論
標題:必填
內容:
本站永遠終止與捏造“罪名”不支付廣告費的某度聯盟合作。
vkvi
vkvi

作者簡介: vkvi,致力于 .NET Web 開發、移動開發的技術推廣,在 .NET、SQL Server、Windows Server 等方面有深入研究和豐富經驗,10 年間共計撰寫文章 4000 余篇。 主持金融、國土、農業、電商等多個行業項目執行, 推行“技術提升生產力、人心決定成功率”的管理理論。 聯系他

最新22选5开奖公告