|
//郁悶的事情總是接連不斷,無(wú)形的壓力來(lái)自內(nèi)心的恐懼
大家在用.NET進(jìn)行數(shù)據(jù)操作的時(shí)候,接觸DataReader不少。
System.Data.OleDb.OleDbDataReader;
System.Data.Odbc.OdbcDataReader;
System.Data.SqlClient.SqlDataReader;
inherit from
System.MarshalByRefObject;//允許在支持遠(yuǎn)程處理的應(yīng)用程序中跨應(yīng)用程序域邊界訪問(wèn)對(duì)象。
System.Collections.IEnumerable;
System.Data.IDataReader;
inherit from
System.Data.IDataRecord;
System.IDisposable;
//IDataReader 定義了 獲取一行記錄的值以及字段名的通用方法以及屬性接口 如:object this[string name] { get; }; object this[int i] { get; }
下面詳細(xì)講解一下 this[string name] 以及this[int i]屬性(相信大家調(diào)用的比較頻繁)
這二個(gè)屬性我想大家在使用NameValueCollection見(jiàn)的比較多,其實(shí)不然,他們完全是二個(gè)不個(gè)不同的概念
其實(shí)這里this[string name]是this[int i]的一個(gè)方便的操作
首先在this[string name]通過(guò)GetOrdinal方法獲取字段名的索引再調(diào)用GetValue方法取值
由此可見(jiàn)通過(guò)調(diào)用this[int i]比通過(guò)調(diào)用this[string name]取值效率要高那么點(diǎn)點(diǎn) *-*呵呵
GetOrdinal方法其實(shí)是通過(guò)GetName方法遍列所有字段名并進(jìn)行對(duì)比,如果沒(méi)返回字段對(duì)應(yīng)的索引號(hào)將拋出一個(gè)異常
//今天先就到這 有時(shí)間再補(bǔ)充(昨天網(wǎng)絡(luò)不通,今天補(bǔ)發(fā)上來(lái)
AspNet技術(shù):DataReader深入解析:持續(xù)更新,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。