VB6.0提供了以下3種類型的數(shù)據(jù)庫訪問方式: · ActiveX Data Object(ADO) · Remote Data Object(RDO) ·Data Access Object(DAO)
VB.NET提供了新一代的數(shù)據(jù)庫訪問技術(shù):ADO.NET。ADO.NET不是ADO的升級版本,而是全新的對象模型,比ADO更加適用于分布式編程及網(wǎng)絡(luò)編程。ADO.NET是根據(jù)離線模型設(shè)計的,因此可以使用與數(shù)據(jù)隔離的數(shù)據(jù)快照。 ADO.NET從Web開發(fā)的角度對ADO進行了改進。它自動連接網(wǎng)絡(luò),致力于讓W(xué)eb數(shù)據(jù)訪問變得更加簡單和高效,脫機記錄集和對XML的支持使得這方面的增強成為可能。由于采用了脫機記錄集,ADO.NET不再支持服務(wù)器端游標(biāo)。ADO.NET把記錄數(shù)據(jù)保存為XML文檔,把模式(Schema)和數(shù)據(jù)視為分離的、可替換的元素。 ADO.NET提供了許多新功能。ADO.NET能夠使用聯(lián)機的或者非聯(lián)機的(脫機的)記錄集,具體由客戶端用戶選擇的游標(biāo)類型和游標(biāo)位置決定。記錄集的本地存儲格式是ADTG (Advanced Data Table Gram,高級數(shù)據(jù)表圖)文件格式。ADT’G是微軟特有的二進制存儲模式,代表著記錄集在內(nèi)存中的映像。 在ADO.NET對象模型中,DataSet(數(shù)據(jù)集)是最重要的對象。通常,一個DataSet對象就是一個記錄集。ADO.NET提供了記錄集的所有數(shù)據(jù)庫功能:排序、分頁、過濾視圖、關(guān)系、索引和主鍵。DataSet對象代表了一個存在于內(nèi)存中、有著豐富功能的數(shù)據(jù)緩沖區(qū)。DataSet對象通過表來組織數(shù)據(jù),這些表與原始的數(shù)據(jù)源之間不存在連接。用戶可以添加表,而且表可以通過讀取本地或遠程.XML文件獲得,也可以從任何可訪問的系統(tǒng)資源 (包括內(nèi)存和其他附屬設(shè)備)讀取。用戶可以排序、索引、過濾數(shù)據(jù)表,像處理ADO的RecordSet一樣導(dǎo)航數(shù)據(jù)表。 用戶還可以通過命令用數(shù)據(jù)集填充DataSet對象。如果以.NET集合的形式為DataSet對象提供數(shù)據(jù)表(具有集合功能的.NET數(shù)據(jù)類型是ICollection),則同一個DataSet對象能夠服務(wù)于多數(shù)據(jù)請求。與ADO的RecordSet不同,DataSet是對數(shù)據(jù)源的一種抽象。而且,DataSet對象保留了一個在內(nèi)存中工作的數(shù)據(jù)存儲器,它沒有完全淘汰記錄集功能。如果需要一次性地滾動記錄集,然后生成某種輸出,那么,就需要使用DataReader對象。
|