您好,登錄后才能下訂單哦!
小編給大家分享一下ADO.NET是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
什么是ADO.NET
ADO.NET是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?kù)。通常情況下,數(shù)據(jù)源是數(shù)據(jù)庫(kù),但它同樣也能夠是文本文件、Excel表格或者XML文件。
ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫(kù)進(jìn)行交互。然而并沒有與此相關(guān)的一系列類來(lái)完成這樣的工作。因?yàn)椴煌臄?shù)據(jù)源采用不同的協(xié)議,所以對(duì)于不同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用ODBC協(xié)議,許多新的數(shù)據(jù)源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通過(guò).NET的ADO.NET類庫(kù)來(lái)進(jìn)行連接。
ADO.NET提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的數(shù)據(jù)源采用一組不同的類庫(kù)。這些類庫(kù)稱為Data Providers,并且通常是以與之交互的協(xié)議和數(shù)據(jù)源的類型來(lái)命名的。表1列處了一些常見的data providers,以及它們所使用的API前綴,和允許進(jìn)行交互的數(shù)據(jù)源類型。
什么是ADO.NET:ADO.NET包含的對(duì)象
SqlConnection 對(duì)象
和數(shù)據(jù)庫(kù)交互,你必須連接它。連接幫助指明數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)名字、用戶名、密碼,和連接數(shù)據(jù)庫(kù)所需要的其它參數(shù)。connection對(duì)象會(huì)被command對(duì)象使用,這樣就能夠知道是在哪個(gè)數(shù)據(jù)庫(kù)上面執(zhí)行命令。
與數(shù)據(jù)庫(kù)交互的過(guò)程意味著你必須指明想要發(fā)生的操作。這是依靠command對(duì)象執(zhí)行的。你使用command對(duì)象來(lái)發(fā)送SQL語(yǔ)句給數(shù)據(jù)庫(kù)。command對(duì)象使用connection對(duì)象來(lái)指出與哪個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接。你能夠單獨(dú)使用command對(duì)象來(lái)直接執(zhí)行命令,或者將一個(gè)command對(duì)象的引用傳遞給SqlDataAdapter,它保存了一組能夠操作下面描述的一組數(shù)據(jù)的命令。
sqlDataReader對(duì)象
許多數(shù)據(jù)操作要求你只是讀取一串?dāng)?shù)據(jù)。data reader對(duì)象允許你獲得從command對(duì)象的SELECT語(yǔ)句得到的結(jié)果??紤]性能的因素,從data reader返回的數(shù)據(jù)都是快速的且只是“向前”的數(shù)據(jù)流。這意味著你只能按照一定的順序從數(shù)據(jù)流中取出數(shù)據(jù)。這對(duì)于速度來(lái)說(shuō)是有好處的,但是如果你需要操作數(shù)據(jù),更好的辦法是使用DataSet。
DataSet對(duì)象
DataSet對(duì)象是數(shù)據(jù)在內(nèi)存中的表示形式。它包括多個(gè)DataTable對(duì)象,而DataTable包含列和行,就象一個(gè)普通的數(shù)據(jù)庫(kù)中的表。你甚至能夠定義表之間的關(guān)系來(lái)創(chuàng)建主從關(guān)系(parent-child relationships)。DataSet是在特定的場(chǎng)景下使用――幫助管理內(nèi)存中的數(shù)據(jù)并支持對(duì)數(shù)據(jù)的斷開操作的。DataSet是被所有Data Providers使用的對(duì)象,因此它并不像Data Provider一樣需要特別的前綴。
SqlDataAdapter對(duì)象
某些時(shí)候你使用的數(shù)據(jù)主要是只讀的,并且你很少需要將其改變至底層的數(shù)據(jù)源。同樣一些情況要求在內(nèi)存中緩存數(shù)據(jù),以此來(lái)減少并不改變的數(shù)據(jù)被數(shù)據(jù)庫(kù)調(diào)用的次數(shù)。Data adapter通過(guò)斷開模型來(lái)幫助你方便的完成對(duì)以上情況的處理。當(dāng)在一單批次的對(duì)數(shù)據(jù)庫(kù)的讀寫操作的持續(xù)的改變返回至數(shù)據(jù)庫(kù)的時(shí)候,Data adapter 填充(fill)DataSet對(duì)象。data adapter包含對(duì)連接對(duì)象以及當(dāng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀取或者寫入的時(shí)候自動(dòng)的打開或者關(guān)閉連接的引用。另外,data adapter包含對(duì)數(shù)據(jù)的SELECT,INSERT,UPDATE和DELETE操作的command對(duì)象引用。你將為DataSet中的每一個(gè)table都定義data adapter,它將為你照顧所有與數(shù)據(jù)庫(kù)的連接。所有你將做的工作是告訴data adapter什么時(shí)候裝載或者寫入到數(shù)據(jù)庫(kù)。
總結(jié):ADO.NET是與數(shù)據(jù)源交互的.NET技術(shù)。有許多的Data Providers,它將允許與不同的數(shù)據(jù)源交流――取決于它們所使用的協(xié)議或者數(shù)據(jù)庫(kù)。然而無(wú)論使用什么樣的Data Provider,你將使用相似的對(duì)象與數(shù)據(jù)源進(jìn)行交互。SqlConnection對(duì)象管理與數(shù)據(jù)源的連接。SqlCommand對(duì)象允許你與數(shù)據(jù)源交流并發(fā)送命令給它。為了對(duì)進(jìn)行快速的只“向前”地讀取數(shù)據(jù),使用SqlDataReader。如果想使用斷開數(shù)據(jù),使用DataSet并實(shí)現(xiàn)能進(jìn)行讀取或者寫入數(shù)據(jù)源的SqlDataAdapter。
以上是“ADO.NET是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。