麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ADO.NET DataReader和DataAdapter的區(qū)別

2019-11-17 02:09:44
字體:
供稿:網(wǎng)友

ADO.NET DataReader和DataAdapter的區(qū)別

SqlDataReader是一個(gè)向前的指針,本身并不包含數(shù)據(jù),調(diào)用一次Read()方法它就向前到下一條記錄,一個(gè)SqlDataReader必須單獨(dú)占用一個(gè)打開的數(shù)據(jù)庫(kù)連接。

在使用 SqlDataReader時(shí),關(guān)聯(lián)的 SqlConnection 正忙于為 SqlDataReader 服務(wù),對(duì) SqlConnection 無法執(zhí)行任何其他操作。除非調(diào)用 SqlDataReader 的 Close 方法,否則會(huì)一直處于此狀態(tài)。

SqlDataAdapter象一座橋梁,一頭連起數(shù)據(jù)庫(kù)表,一頭連起一個(gè) DataSet 或者 DataTable ,在把數(shù)據(jù)庫(kù)中的數(shù)據(jù)填充到 DataSet 或 DataTable 后就可以“過河拆橋”,不用再連接到數(shù)據(jù)庫(kù),而可以直接從 DataSet 或 DataTable 中獲取數(shù)據(jù)。

SqlDataAdapter提供了許多的方法,來方便我們對(duì)一些特定的數(shù)據(jù)集合進(jìn)行操作比如,填充一個(gè)查詢結(jié)果到 DataTable ,或 DataSet 中其實(shí)就是類似于:創(chuàng)建一個(gè) SqlCommand 然后執(zhí)行 "Select * from [Table]" 然后執(zhí)行 ExcuteReader()方法 得到一個(gè)IDataReader對(duì)象然后逐行讀取數(shù)據(jù)并存放到一個(gè)集合對(duì)象中(如DataTable)經(jīng)過測(cè)試,如果有大量的數(shù)據(jù)操作最好是自己寫 SqlCommand ,會(huì)比SqlDataAdapter操作數(shù)據(jù)庫(kù)快很多

SqlDataReader只能讀取數(shù)據(jù)庫(kù),而且所操作的表必須處于連接狀態(tài),但是要對(duì)數(shù)據(jù)庫(kù)進(jìn)行寫操時(shí),只能借助 SqlCommand 類,SqlDataAdapter 它建立在 SqlCommand 對(duì)象之上,它具有 SqlCommand 類的一切功能,能夠?qū)?shù)據(jù)填充到 DataSet 對(duì)象中,而且不用再連接到數(shù)據(jù)庫(kù),而可以直接從 DataSet 或 DataTable 中獲取數(shù)據(jù)。(因?yàn)樗捎玫臒o連接傳輸模式)

SqlDataReader對(duì)象可以從數(shù)據(jù)庫(kù)中得到只讀的、只能向前的數(shù)據(jù)流,還可以提高應(yīng)用程序的性能,減少系統(tǒng)開銷,同一時(shí)間只有一條行記錄在內(nèi)存中。

SqlDataAdapter對(duì)象可以自動(dòng)打開和自動(dòng)關(guān)閉數(shù)據(jù)庫(kù)連接(不需人為管理),適配器的主要工作流程:SqlConnection 對(duì)象建立與數(shù)據(jù)源的連接,SqlDataAdapter 對(duì)象經(jīng)由 SqlCommand 對(duì)象返回給SqlDataAdapter,最后將SqlDataAdapter對(duì)象加入到 DataSet 對(duì)象的 DataTables 對(duì)象中。

總結(jié):

性能上:SqlDataReader一次只在內(nèi)存中存儲(chǔ)一行,減少了系統(tǒng)開銷。優(yōu)于SqlDataAdapter

讀取時(shí):SqlDataReader需通過調(diào)用自身Read()方法循環(huán)讀取數(shù)據(jù)到指定對(duì)象。而SqlDataAdapter可通過調(diào)用Fill()方法一次性填充數(shù)據(jù)到DataSet。還可將對(duì) DataSet 所做的更改解析回?cái)?shù)據(jù)源。

操作上:SqlDataReader需通過調(diào)用自身的Close()方法斷開連接。而SqlDataAdapter可以讀取完數(shù)據(jù)庫(kù)后自動(dòng)斷開連接.

微軟擴(kuò)展閱讀:https://msdn.microsoft.com/zh-cn/zh-ch/library/ms254931.aspx


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 强伦女教师视频 | 一级做受大片免费视频 | 中文字幕在线播放视频 | 在线成人一区二区 | 色中色在线播放 | 国产91大片 | 91美女视频在线 | sese综合| 91国内精品久久久久免费影院 | 日本黄色大片免费 | 成年免费在线视频 | 国产精品视频自拍 | 亚洲第一精品在线 | 成人免费一区二区三区在线观看 | 一区二区三区日本在线观看 | 午夜精品福利影院 | 黄色特级片黄色特级片 | 色综合激情 | 一级片久久免费 | 蜜桃网站在线观看 | china对白普通话xxxx | 成年人在线视频观看 | 久久久久久久久久久亚洲 | 一级毛片手机在线观看 | 免费黄色在线观看网站 | 欧美日韩中文字幕在线视频 | 日本精品一区二区 | 成人羞羞在线观看网站 | 国产精品久久久久久久av三级 | 色淫视频 | 国产一级一级片 | 一级毛片在线看 | 国产午夜精品一区二区三区四区 | 美女在线观看视频一区二区 | 凹凸成人精品亚洲精品密奴 | 国产一国产一级毛片视频在线 | 激情91| 毛片在线视频免费观看 | 在线免费91| 国产成人综合在线视频 | 免费在线观看午夜视频 |