//香水壞壞 AT 06-07-25
//郁悶的事情總是接連不斷,無形的壓力來自內心的恐懼
大家在用.net進行數據操作的時候,接觸DataReader不少。
System.Data.OleDb.OleDbDataReader;
System.Data.Odbc.OdbcDataReader;
System.Data.SqlClient.SqlDataReader;
inherit from
System.MarshalByRefObject;//允許在支持遠程處理的應用程序中跨應用程序域邊界訪問對象。
System.Collections.IEnumerable;
System.Data.IDataReader;
inherit from
System.Data.IDataRecord;
System.IDisposable;
//IDataReader 定義了 獲取一行記錄的值以及字段名的通用方法以及屬性接口 如:object this[string name] { get; }; object this[int i] { get; }
下面詳細講解一下 this[string name] 以及this[int i]屬性(相信大家調用的比較頻繁)
這二個屬性我想大家在使用NameValueCollection見的比較多,其實不然,他們完全是二個不個不同的概念
其實這裡this[string name]是this[int i]的一個方便的操作
首先在this[string name]通過GetOrdinal方法獲取字段名的索引再調用GetValue方法取值
由此可見通過調用this[int i]比通過調用this[string name]取值效率要高那麼點點 *-*呵呵
GetOrdinal方法其實是通過GetName方法遍列所有字段名並進行對比,如果沒返回字段對應的索引號將拋出一個異常
//今天先就到這 有時間再補充(昨天網絡不通,今天補發上來