新聞中心
要設置ADO.NET時,需要注意的是:如果你沒有明確地提供參數(shù)信息,ADO.NET特性使用每一個命令執(zhí)行重新建立OLE DB參數(shù)存取程序。 這樣就刪除了在命令執(zhí)行前分析命令的需求,明確地把它標識為存儲過程了。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于做網(wǎng)站、成都網(wǎng)站建設、乳源網(wǎng)絡推廣、成都小程序開發(fā)、乳源網(wǎng)絡營銷、乳源企業(yè)策劃、乳源品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供乳源建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
在訪問任何與命令(Command)相關的輸出參數(shù)前DataReader必須關閉。 在讀完數(shù)據(jù)后就關閉DataReader。如果你正在使用的連接只返回該DataReader,在關閉DataReader后立即關閉連接。
另一種明確地關閉連接的方法是給ExecuteReader方法傳遞CommandBehavior.CloseConnection以確保當DataReader關閉時相關的連接關閉了。如果你從某個方法返回DataReader,并且沒有辦法控制DataReader或者相關的連接關閉的情況下特別有用。
DataReader不能在層之間遠程訪問。ADO.NET特性是設計用于連接數(shù)據(jù)訪問的。 使用類型化的存取程序(例如GetString、GetInt32等等)來訪問列數(shù)據(jù)。這節(jié)省了將GetValue返回的對象作為特定類型的必要的處理。 #t#
在某一時刻只有一個DataReader能夠打開。在ADO中,如果你打開一個連接并請求兩個使用只向前的只讀游標的記錄集,ADO隱性地為游標的生命周期的數(shù)據(jù)存儲打開第二個不在連接池中的連接,接著隱性地關閉它。在ADO.NET中,如果你想在同一個數(shù)據(jù)存儲上同時打開兩個DataReader,你必須明確地建立兩個連接,每個DataReader一個。通過這種方法ADO.NET給了你對連接池使用的更多控制。
默認情況下,ADO.NET特性在每個Read方法中把整個行載入內(nèi)存中。這允許你隨機訪問當前行的任意列。如果隨機訪問是不必要的,ADO.NET特性為了提高性能,把CommandBehavior.SequentialAccess傳遞給ExecuteReader調(diào)用。這改變了DataReader的默認行為,只在需要時才把數(shù)據(jù)載入內(nèi)存。注意CommandBehavior.SequentialAccess要求你按次序訪問返回的列。也就是,一旦你讀過了返回的某個列,就不能再次讀取它的值了。
如果你結束了從DataReader中讀取數(shù)據(jù),但是仍然有大量的未讀取的結果等待,那么調(diào)用Command的Cancel比調(diào)用DataReader 的Close好。調(diào)用DataReader 的Close引起它檢索等待的結果并且先清空流后關閉游標。調(diào)用Command的 Cancel刪除服務器上的結果,因此當DataReader關閉時,它不需要再讀取結果。如果你從ADO.NET特性返回輸出參數(shù),則調(diào)用Cancel刪除它們。如果你要讀取任何輸出參數(shù),不要調(diào)用Command 的Cancel;***調(diào)用DataReader的 Close。
本文題目:詳讀ADO.NET特性相關技巧
鏈接URL:http://www.5511xx.com/article/djoigho.html


咨詢
建站咨詢
