此頁沒有內(nèi)容條目
內(nèi)容

下列元素是 RDS 編程模型中的關(guān)鍵部分:

?RDS.DataSpace

 

?RDSServer.DataFactory

 

?RDS.DataControl

 

?事件

RDS.DataSpace

客戶端應(yīng)用程序必需指定服務(wù)器和要調(diào)用的服務(wù)器程序。相應(yīng)的,應(yīng)用程序接收對服務(wù)器程序的引用,并且將此引用當(dāng)作實際的服務(wù)器程序。

RDS 對象模型通過 RDS.DataSpace 對象來體現(xiàn)該功能。

使用程序標(biāo)識符(即 ProgID)來指定服務(wù)器程序。服務(wù)器使用 ProgID 和服務(wù)器計算機(jī)的注冊表來定位需初始化的程序的信息。

根據(jù)服務(wù)器程序是在由 Internet 或 Intranet 連接的遠(yuǎn)程服務(wù)器上,還是在連接局域網(wǎng)的服務(wù)器上,或者根本不在服務(wù)器而在本地動態(tài)連接庫 (DLL) 上,RDS 可在內(nèi)部進(jìn)行劃分。該劃分決定在客戶與服務(wù)器之間交換數(shù)據(jù)的方式,并對于返回給客戶端應(yīng)用程序的“引用”類型中有著實際的區(qū)別。然而,從用戶的角度來看,該劃分沒有特殊的意義。所有這些只是令您接收到可用的程序引用。

RDSServer.DataFactory

RDS 提供的默認(rèn)服務(wù)器程序可對數(shù)據(jù)源執(zhí)行 SQL 查詢并返回 Recordset 對象,或獲得 Recordset 對象并更新數(shù)據(jù)源。

RDS 對象模型用 RDSServer.DataFactory 對象來體現(xiàn)該功能。

此外,該對象具有創(chuàng)建空的 Recordset 對象的方法,可用編程的方式對該空 Recordset 進(jìn)行填寫。它還有另一種方法可將 Recordset 轉(zhuǎn)換為文本串來建立 Web 頁。

使用 ADO,可以利用 DataFactory 處理程序和包含連接、命令和安全參數(shù)的自定義文件覆蓋一些標(biāo)準(zhǔn)連接和 RDSServer.DataFactory 的命令行為。

服務(wù)器程序有時可稱作“業(yè)務(wù)對象”。您可以編寫自己的自定義業(yè)務(wù)對象,它可以執(zhí)行復(fù)雜數(shù)據(jù)訪問,有效性檢查等。甚至在編寫自己的自定義業(yè)務(wù)對象時,可創(chuàng)建 RDSServer.DataFactory 對象的實例并且使用它的一些方法完成自己的任務(wù)。

RDS.DataControl

RDS 提供了可將 RDS.DataSpaceRDSServer.DataFactory 的功能結(jié)合在一起的方法。RDS 也能讓可視化控件容易地使用查詢數(shù)據(jù)源所返回的 Recordset 對象。大多數(shù)情況下,RDS 總是盡可能多的自動訪問服務(wù)器上的信息,并且將信息顯示在可視化控件中。

RDS 對象模型用 RDS.DataControl 對象來體現(xiàn)該功能。

RDS.DataControl 有兩個方面。一個方面與數(shù)據(jù)源有關(guān)。如果設(shè)置 RDS.DataControl 的命令和連接屬性,它將會自動使用 RDS.DataSpace 創(chuàng)建對默認(rèn) RDSServer.DataFactory 對象的引用。然后 RDSServer.DataFactory 將使用連接屬性的值連接到數(shù)據(jù)源,并使用命令屬性的值從數(shù)據(jù)源獲得 Recordset,最后將 Recordset 對象返回到 RDS.DataControl。

第二個方面涉及在可視化控件中顯示被返回的 Recordset 信息??梢允箍梢暱丶c RDS.DataControl 相關(guān)聯(lián)(在稱為綁定的過程中),并訪問關(guān)聯(lián)的 Recordset 對象中的信息,查詢結(jié)果顯示在 Internet Explorer 的 Web 頁上。每個 RDS.DataControl 對象將一個表示單個查詢結(jié)果的 Recordset 對象綁定到一個或多個可視控件(例如文本框、組合框和網(wǎng)格控件等)上。在每頁上可以有多個 RDS.DataControl 對象。每個 RDS.DataControl 對象都可連接不同的數(shù)據(jù)源,并且包含各自的查詢結(jié)果。

RDS.DataControl 對象也有其自己的方法用于定位、排序和篩選相關(guān)聯(lián)的 Recordset 對象的行。這些方法雖然相似,但與 ADO Recordset 對象所用的方法不同。

事件

RDS 支持兩個獨立于 ADO 事件模型的自身事件。無論 RDS.DataControl ReadyState 屬性何時更改均調(diào)用 onReadyStateChange 事件,以此對異步操作的完成、結(jié)束或出現(xiàn)錯誤等發(fā)出通知。無論何時發(fā)生錯誤,即使發(fā)生在異步操作執(zhí)行的過程中,均調(diào)用 onError 事件。

注意   Microsoft Internet Explorer 環(huán)境提供給 RDS 兩個附加事件:onDataSetChangedRecordset 在起作用但還在檢索行)和 onDataSetCompleteRecordset 已結(jié)束檢索行)。

下一頁   使用對象的 RDS 編程模型。