使用對象的 RDS 編程模型

來源:互聯網
上載者:User
編程|對象 RDS 的目的是通過 Internet Information Server 這樣的媒介來訪問和更新資料來源。編程模型則指定為完成這個目的所必需的活動序列。物件模型指定其方法和屬性影響編程模型的對象。

RDS 提供執行以下動作序列的途徑:

指定在伺服器上被調用的程式,並獲得通過用戶端調用該程式的方式(代理)。(RDS.DataSpace)


調用伺服器程式。將參數傳遞給標識資料來源及所要發布的命令的伺服器程式。(代理或 RDS.DataControl)


伺服器程式從資料來源獲得 Recordset 對象(一般通過使用 ADO)。可選擇在伺服器上處理 Recordset 對象。(RDSServer.DataFactory)


伺服器程式將最終的 Recordset 對象返回用戶端應用程式。(代理)


在用戶端,Recordset 對象被轉換成可視控制項能方便使用的格式。(可視控制項和 RDS.DataControl)


對 Recordset 對象所作的更改被返回伺服器並用於更新資料來源。(RDS.DataControl 或 RDSServer.DataFactory)
下列元素是 RDS 編程模型中的關鍵區段:

RDS.DataSpace


RDSServer.DataFactory


RDS.DataControl


事件
RDS.DataSpace

客戶應用程式必需指定伺服器和要調用的伺服器程式。相應的,應用程式接收對伺服器程式的引用,並且將此引用當作實際的伺服器程式。

RDS 物件模型包含 RDS.DataSpace 對象的該功能。

使用程式標識符(即 ProgID)可對伺服器程式進行指定。伺服器使用 ProgID 和伺服器電腦的註冊表來定位需初始化的程式的資訊。

根據伺服器程式是在由 Internet 或 Intranet 串連的遠程伺服器上,還是在串連區域網路的伺服器上,或者根本不在伺服器而在本地動態串連庫 (DLL) 上,RDS 可在內部進行劃分。該劃分決定在客戶與伺服器之間交換資料的方式,並對於返回給客戶應用程式的“引用”類型中有著實際的區別。然而,從使用者的角度來看,該劃分沒有特殊的意義。所有這些只是令您接收到可用的程式引用。

RDSServer.DataFactory

RDS 提供的預設伺服器程式可對資料來源執行 SQL 查詢並返回 Recordset 對象,或獲得 Recordset 對象並更新資料來源。

RDS 物件模型用 RDSServer.DataFactory 對象來代表該功能。

此外,該對象具有建立空的 Recordset 對象的方法,可用編程的方式對該空 Recordset 進行填寫。它還有另一種方法可將 Recordset 轉換為文本串來建立 Web 頁。

使用 ADO 2.0,可以利用 DataFactory 處理常式和包含串連、命令和安全參數的自訂檔案覆蓋一些標準串連和 RDSServer.DataFactory 的命令列為。

伺服器程式有時可稱作“業務對象”。您可以編寫自己的自訂業務對象,它可以執行複雜資料訪問,有效性檢查等諸如此類的功能。甚至在編寫自己的自訂業務對象時,可建立 RDSServer.DataFactory 對象並且使用它的一些方法完成自己的任務。

RDS.DataControl

RDS 提供了可將 RDS.DataSpace 和 RDSServer.DataFactory 的功能結合在一起的方法。RDS 也能讓可視化控制項容易地使用對資料來源的查詢所返回的 Recordset 對象。大多數情況下,RDS 總是儘可能多的自動訪問伺服器上的資訊,並且將資訊顯示在可視化控制項中。

RDS 物件模型用 RDS.DataControl 對象來具體化該功能。

RDS.DataControl 有兩個方面。一個方面與資料來源有關。如果設定 RDS.DataControl 的命令和串連屬性,它將會自動使用 RDS.DataSpace 建立對預設 RDSServer.DataFactory 對象的引用。然後 RDSServer.DataFactory 將使用串連屬性的值串連到資料來源,並使用命令屬性的值從資料來源獲得 Recordset,最後將 Recordset 對象返回到 RDS.DataControl。

第二個方面涉及在可視化控制項中顯示被返回的 Recordset 資訊。可以使可視控制項與 RDS.DataControl 相關聯(在稱為綁定的過程中),並訪問關聯的 Recordset 對象中的資訊,查詢結果顯示在 Internet Explorer 的 Web 頁上。每個 RDS.DataControl 對象將一個表示單個查詢結果的 Recordset 對象綁定到一個或多個可視控制項(例如文字框、組合框和網格控制項等)上。在每頁上可以有多個 RDS.DataControl 對象。每個 RDS.DataControl 對象都可串連不同的資料來源,並且包含各自的查詢結果。

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

事件

RDS 支援兩個獨立於 ADO 事件模型的自身事件。無論 RDS.DataControl ReadyState 屬性何時更改均調用 onReadyStateChange 事件,以此對非同步作業的完成、結束或出現錯誤等發出通知。無論何時發生錯誤,即使發生在非同步作業執行的過程中,均調用 onError 事件。

注意 Microsoft Internet Explorer 環境提供給 RDS 兩個附加事件: onDataSetChanged 和 onDataSetComplete。



相關文章

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 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。