国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ADO.NET入門(2)

2024-07-10 13:02:56
字體:
來源:轉載
供稿:網友
 2.讀取數據
  
    ado.net應用程序要從數據源里讀取數據,首先得創建一個連接對象.這個連接對象可以是sqlconnection 或是 adoconnection,這取決于所采用的目標提供程序. 需要記住的是,雖然在這里不做推薦,但你也可以利用ado .net 類來連接到sql server數據庫. 這種方法唯一不足是,代碼需要通過一個不必要的額外代碼層. 首先它會調入ado的托管提供程序, 然后ado的托管提供程序再調用sql server ole db 提供程序. 如同ole db 提供程序做的一樣,sql server 托管提供程序會直接操作數據,
  
    關于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.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 香河县| 新乡市| 山阳县| 同德县| 恩施市| 光山县| 邢台县| 岑溪市| 宁武县| 贡觉县| 伊宁县| 康平县| 余姚市| 蒙自县| 樟树市| 海盐县| 西畴县| 通州市| 富蕴县| 芮城县| 吴堡县| 长汀县| 青河县| 塔河县| 湟源县| 松原市| 河源市| 祁连县| 永昌县| 比如县| 济源市| 蕲春县| 黑河市| 长治县| 安西县| 弋阳县| 修文县| 襄垣县| 山西省| 宝应县| 乌拉特后旗|