RDS 編程模型詳細資料
2024-07-21 02:09:24
供稿:網友
rds 編程模型詳細資料
下列元素是 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,可以利用 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 信息??梢允箍梢暱丶c 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(recordset 在起作用但還在檢索行)和 ondatasetcomplete( recordset 已結束檢索行)。