成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面總結ADO.NET DataReader使用技巧

開發 后端
這里究ADO.NET DataReader使用技巧做了總結和常見問題的解答,文章還對用 DataReader 檢索二進制大對象 (BLOB) 應該怎么做出了講解。

經常上網收集資料,自己看多了也能總結出一些東西,在這里究一些使用ADO.NET DataReader 獲得***性能的技巧來說誰,同時還回答了一些關于使用ADO.NET DataReader的常見問題。

◆在訪問相關 Command 的任何輸出參數之前,必須關閉 DataReader。
◆完成讀數據之后總是要關閉 DataReader。如果使用 Connection 只是用于返回 DataReader,那么關閉 DataReader 之后立刻關閉它。
另外一個顯式關閉 Connection 的方法是把 CommandBehavior.CloseConnection 傳遞給 ExecuteReader 方法,以確保相關的連接在關閉 ADO.NET DataReader 時被關閉。如果從一個方法返回DataReader,而且不能控制 DataReader 或相關連接的關閉,則這樣做特別有用。
◆不能在層之間遠程訪問 DataReader。DataReader 是為已連接好的數據訪問設計的。
◆當訪問列數據時,使用類型化訪問器,例如,GetString、GetInt32 等。這使您不用進行將 GetValue 返回的 Object 強制轉換成特定類型所需的處理。
◆一個單一連接每次只能打開一個 DataReader。在 ADO 中,如果打開一個單一連接,并且請求兩個使用只進、只讀游標的記錄集,那么 ADO 會在游標生存期內隱式打開第二個、未池化的到數據存儲區的連接,然后再隱式關閉該連接。對于 ADO.NET,“秘密”完成的動作很少。如果想在相同的數據存儲區上同時打開兩個 DataReaders,就必須顯式創建兩個連接,每個 DataReader 一個。這是 ADO.NET 為池化連接的使用提供更多控制的一種方法。
◆ExecuteReader 調用。這將 DataReader 的默認行為更改為僅在請求時將數據加載到內存。注意,CommandBehavior.SequentialAccess 要求順序訪問返回的列。也就是說,一旦讀過返回的列,就不能再讀它的值了。
◆如果已經完成讀取來自 DataReader 的數據,但仍然有大量掛起的未讀結果,就在調用 DataReader 的 Close 之前先調用 Command 的 Cancel。調用 DataReader 的 Close 會導致在關閉游標之前檢索掛起的結果并清空流。調用 Command 的 Cancel 會放棄服務器上的結果,這樣,DataReader 在關閉的時候就不必讀這些結果。如果要從 Command 返回輸出參數,還要調用 Cancel 放棄它們。如果需要讀取任何輸出參數,不要調用 Command 的 Cancel,只要調用 DataReader 的 Close 即可。
 

二進制大對象 (BLOB)

用 DataReader 檢索二進制大對象 (BLOB) 時,應該把 CommandBehavior.SequentialAccess 傳遞給 ExecuteReader 方法調用。因為 DataReader 的默認行為是每次 Read 都把整行加載到內存,又因為 BLOB 值可能非常大,所以結果可能由于單個 BLOB 而使大量內存被用光。SequentialAccess 將 DataReader 的行為設置為只加載請求的數據。然后還可以使用 GetBytes 或 GetChars 控制每次加載多少數據。

記住,使用 SequentialAccess 時,不能不按順序訪問 DataReader 返回的不同字段。也就是說,如果查詢返回三列,其中第三列是 BLOB,并且想訪問前兩列中的數據,就必須在訪問 BLOB 數據之前先訪問***列的值,然后訪問第二列的值。這是因為現在數據是順序返回的,并且 DataReader 一旦讀過該數據,該數據就不再可用。

【編輯推薦】

  1. 詳談Linq查詢結果分析的方法
  2. 簡簡單單學習Linq查詢語法
  3. 詳細闡述Linq插入數據的操作方法
  4. 淺析Linq插入數據的實現方法
  5. 簡單解決Linq多條件組合問題
責任編輯:田樹 來源: 博客
相關推薦

2009-11-04 12:45:33

ADO.NET Dat

2009-11-13 10:31:07

ADO.NET Dat

2009-11-04 16:55:16

ADO.NET Dat

2009-10-29 10:44:18

ADO.NET Dat

2009-10-29 10:34:31

ADO.NET使用技巧

2009-12-22 16:35:11

ADO.NET控件

2009-11-13 09:24:17

2009-11-12 14:37:26

ADO.NET結構

2009-12-21 14:39:09

ADO.NET技巧

2009-11-12 12:39:16

ADO.NET Sta

2009-12-28 15:46:22

ADO.NET操作

2009-11-13 10:53:54

ADO.NET Dat

2009-11-03 17:25:59

ADO.NET編程技巧

2009-11-11 14:27:32

ADO.NET函數

2009-10-29 13:34:01

ADO.NET對象

2009-12-23 17:30:54

ADO.NET應用程序

2009-12-28 15:11:36

ADO.NET專家

2009-12-22 09:50:23

ADO.NET學習

2009-12-31 11:11:42

ADO.NET組件

2009-12-21 13:19:34

ADO.NET組件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品美女久久久久aⅴ国产馆 | 91精品国产综合久久福利软件 | 免费视频一区二区三区在线观看 | www.免费看片.com | 国产一区二区不卡 | 日韩精品一区二区三区在线观看 | 亚洲一区国产精品 | 日韩av在线一区二区三区 | 成人网在线观看 | 亚洲综合伊人 | 亚洲精品免费视频 | 国产精品久久久久久久粉嫩 | 一区中文字幕 | 黄色av免费| av三级 | 日本精品一区二区三区在线观看视频 | 精品日韩一区二区 | 欧美日韩专区 | jlzzjlzz欧美大全 | 亚洲国产精品久久久久秋霞不卡 | 日韩一级 | aaaa日韩| 日本国产一区二区 | 91精品国产乱码久久久久久 | 在线精品一区 | 狠狠操狠狠干 | 爱草在线 | 国产一区二区三区 | 国产在线一区二 | 国产精品久久久久久久久污网站 | 亚洲国产精品va在线看黑人 | 欧州一区二区三区 | 美女视频一区二区三区 | 亚洲人精品| 紧缚调教一区二区三区视频 | 亚洲人成一区二区三区性色 | 国产区在线观看 | 操视频网站 | 国产精品久久久久久久久久久免费看 | 亚洲天堂一区 | 精品中文视频 |