ADO.NET是一種數據訪問技術,使得應用程序能夠鏈接到數據庫存儲,並以各類方式操做存儲在其中的數據。該技術基於.NETFramework,與.NET Framework類庫的其他部分高度集成。程序員
其中最重要的是它的五大對象,以下圖所示數據庫
![](http://static.javashuo.com/static/loading.gif)
應用程序和數據庫之間的鏈接訪問過程:服務器
![](http://static.javashuo.com/static/loading.gif)
下面詳細介紹一下每一個對象:
網絡
Connection對象:
實現數據庫(數據源)的鏈接。經過屬性可描述數據和用戶身份驗證,同時提供一些方法容許程序員與數據源創建鏈接或斷開鏈接。分佈式
Command對象:
主要用來對數據庫發出一些指令(查詢、新增、修改、刪除等)以及呼叫在數據庫中的預存程序。 學習
Command對象也分爲四種SqlCommand、OleDbCommand、OdbcCommand、OracleCommand.spa
Command對象經常使用屬性:.net
屬性 |
說明 |
Commandtype |
獲取或設置Command要執行命令的類型 |
CommandText |
獲取或設置要對數據源執行的SQL語句或存儲過程或表名 |
Connection |
獲取或設置此Command對象使用Connection對象的名稱 |
三種不一樣的CommandType:
CommandType.Text :
CommandType的默認值,指示執行的是SQL語句,爲CommandText指定SQL字符串。
CommandType.StoredProcedure:
指示執行的是存儲過程,爲CommandText指定一個存儲過程的名稱。
CommandType.TableDirect :
指示用戶將獲得CommandText指定的數據表中的全部數據。
Command對象經常使用執行方式:
DataReader對象:
經過Command對象提供從數據庫檢索數據信息的功能,它以一種只讀的、向前的、快速的方式訪問數據庫。
根據所用的.NET Framework數據提供程序的不一樣,DataReader對象也能夠分紅SqlDataReader、OleDbDataReader、OdbcDataReader、OracleDataReader等
用戶經過Command對象的ExecuteReader方法從數據源中檢索數據並返回一個DataReader對象。使用DataReader對象除了效率較高以外,還能夠下降網絡的負載(由於不把數據所有傳回)
DataReader對象經常使用屬性:
DataReader對象經常使用方法:
DataAdapter對象:
是DataSet和數據源之間的橋樑,一方面能夠經過command對象下達命令後將取得的數據放入DataSet對象中,另外一方面能夠把用戶對DataSet獨享作出的更改寫入到數據源中。xml
DataAdapter對象的經常使用屬性:對象
DataAdapter對象經過映射Fill方法來填充DataSet對象,經過update方法來更新數據源中的數據。
DataSet對象:
DataSet對象是ADO.NET最核心成員之一,它是支持ADO.NET斷開式、分佈式數據方案的核心對象,是實現基於非鏈接的數據查詢的核心組件。DataSet對象能夠看作是在內存中建立的一個小型關係數據庫,它將數據源中的數據複製一份放到了本地用戶的內存中,供用戶在不鏈接數據源的狀況下讀取數據,從而充分利用了客戶端資源,大大下降了數據庫服務器壓力。
DataSet對象能夠包含一個或多個DataTable對象,多個DataTable對象之間可能造成關係(DataRation對象)、約束(Constraint對象)、外鍵約束(ForeignKeyConstraint對象)等多種關係。
DataView
對象能夠選擇數據表中的行和列的子集。DataView對象和SQLServer的視圖不一樣之處在於,視圖能夠操做多個表,而DataView對象只能操做單個表。
總結:
學習是一個反覆的過程,記得剛開始看紅皮書的時候講這些東西根本一點也不懂,通過這麼長一段時間的學習消化,對這五個對象有了必定的瞭解,最重要的是把這些熟練地運用,其實學習原本就是這樣,從剛開始的迷迷糊糊而後慢慢地剝開眼前的霧,逐漸地清晰理解地更深。
加油↖(^ω^)↗!
————————————————
原文連接:https://blog.csdn.net/wxr15732623310/article/details/51828677