ADO.NET入門(2)

來源:互聯網
上載者:User
ado  2.讀取資料
  
    ADO.NET應用程式要從資料來源裡讀取資料,首先得建立一個連線物件.這個連線物件可以是SQLConnection 或是 ADOConnection,這取決於所採用的目標提供者. 需要記住的是,雖然在這裡不做推薦,但你也可以利用ADO .NET 類來串連到SQL Server資料庫. 這種方法唯一不足是,代碼需要通過一個不必要的額外代碼層. 首先它會調入ADO的Managed 提供者, 然後ADO的Managed 提供者再調用SQL Server OLE DB 提供者. 如同OLE DB 提供者做的一樣,SQL Server Managed 提供者會直接操作資料,
  
    關於ADO 和ADO.NET在連線物件上最大的差別在於ADO.NET串連不支援CursorLocation屬性.與其說這是一個文檔BUG,還不如認為這是一個備具爭議的設計問題.為強制執行它的以資料為中心的基準,ADO.NET沒有遊標的顯示實現.
  
    在ADO中,你已習慣於利用遊標將記錄從資料庫或其它OLE DB相容的資料來源中抽取, 你可以選擇用戶端或是伺服器端遊標,每種遊標都有幾個預先設定的遊標類型. 而在ADO.NET中更多的是從資料來源中抽取資料,並且為讀取和分析資料提供新的編程介面
  
    在ADO中,通過規定串連和命令文本,你可以建立一個Recordset 對象.對於遊標的位置和類型Recordset有一些規定.你可以按下面的方法來讀取資料.
  
    在記憶體中建立選定記錄的靜態副本,然後在斷開與資料來源的串連時對副本進行處理,ADO稱之為靜態資料指標.
  
    通過快速的, 僅向前的, 唯讀遊標來滾動資料,,ADO稱之為僅向前遊標.
  
    通過伺服器端遊標來訪問資料,需要良好的串連,但您可以在不同層面上檢測由其它連線使用者輸入的資訊,ADO稱之為: 動態資料指標.
  
    頭兩種都是在斷開的recordsets上進行操作,並從用戶端緩衝中讀取資訊,另外,前兩種方式也常被用於面向WEB的環境中以及全新的 n-tier 系統當中.
  
    在ADO中,以上所有這些方式與不同類型的遊標相對應 .在文中,你將會發現,ADO.NET雖然與ADO不同,但它具備了ADO的所有功能.相對照來說,你的代碼將從實際的資料來源及其實體儲存體媒介和格式中抽取資料.
  
    ADO.NET能夠使DataSet 和 DataReader 將資料從資料來源中抽取出來.前者是記錄在記憶體中的緩衝,你可以從任意方向訪問並隨意作出修改. 後者是高度最佳化的對象,在唯讀紀錄集中以僅向前方式向前移動。注: DataSet 看起來象是靜態資料指標,但實際上,在.NET中,與ADO唯讀遊標相對應的是DataReader 對象.
  
    在ADO.NET中,雖然對於伺服器端的遊標不提供任何支援,但這不意味著你就不能使用遊標.實際上,你所需要做的步驟是在.NET中輸入ADO庫.你只需在references node上單擊右鍵,就可以在你自己的程式裡運行本地ADO 對象.
  
    但是我個人認為,在你想轉向.NET時,請謹慎考慮. 首先,請務必完全輸入ADO, 這不會花費太多時間和精力,這是向.NET邁出的第一步,.但是,這僅僅是萬裡長征的第一步而且也是通向.NET必須的一步. .NET的真正附加值是基於一個均勻的,持續穩定的介面以及本地classes的廣為應用之上的.關於COM libraries是可以被支援的,合理的,但不被鼓勵的,因為它僅僅是個短期解決方案,或者是一個過渡步驟.
  
    當你要開始使用ADO.NET時,請考慮這樣一個事實:ADO.NET統一了資料容器類編程介面,.因此,不管是何種類型的程式: Windows Form, Web Form, 或者 Web Service也好,你都得在同一組類中集中處理有關資料. 不管處於後端的資料來源是SQL Server database,或是OLE DB 提供者,, XML檔案,又或是數組,你都可以使用一樣的方法和屬性來進行處理.
  
  
  Figure 1. Solution Explorer menu
  
    如果你堅持在.NET世界中使用ADO,那麼請準備好面對一些其它的影響,例如你需要額外的代碼才能夠從資料繫結控制項中使用recordset.

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。