DataControl 物件 (RDS)

將資料查詢 Recordset 繫結至一或多個控制項 (例如文字輸入框、格線控制項或下拉式方塊) 以在網頁上顯示 Recordset 資料。

重要

從 Windows 8 和 Windows Server 2012 開始,Windows 作業系統中不再包含 RDS 伺服器元件 (請參閱 Windows 8 和 Windows Server 2012 相容性逐步指南 (英文) 以取得詳細資料)。 未來的 Windows 版本將移除 RDS 用戶端元件。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 使用 RDS 的應用程式應移轉至 WCF 資料服務

語法

  
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DataControl"  
   <PARAM NAME="Connect" VALUE="DSN=DSNName;UID=MyUserID;PWD=MyPassword;">  
   <PARAM NAME="Server" VALUE="https://awebsrvr">  
   <PARAM NAME="SQL" VALUE="QueryText">  
</OBJECT>  

備註

RDS.DataControl 物件的類別識別碼為 BD96C556-65A3-11D0-983A-00C04FC29E33。

注意

如果您收到如果您收到 RDS.DataSpaceRDS.DataControl 物件未載入的錯誤,請確定您使用正確的類別識別碼。 自版本 1.0 和 1.1 起,這些物件的類別識別碼已變更。 此外,請注意,當您使用 RDS DataControl 物件時,也必須設定可為 Null 的資料行。

針對基本案例,您必須僅設定 RDS.DataControl 物件的 SQLConnectServer 屬性,其會自動呼叫 RDSServer.DataFactory 預設商務物件。

由於自訂商務物件可取代其功能,因此 RDS.DataControl 中的所有屬性為選用。

注意

如果您查詢多個結果,僅會傳回第一個 Recordset。 如果需要多個結果集,請將每個資料集指派給其各自的 DataControl。 查詢多個結果的範例如下:"Select * from Authors, Select * from Topics"

當您使用 RDS.DataControl 物件時,將 "DFMode=20;" 新增至連接字串,可改善更新資料時伺服器的效能。 透過此設定,伺服器上的 RDSServer.DataFactory 物件會使用較低的資源密集模式。 然而,此設定無法使用下列功能:

  • 使用參數化查詢。

  • 先取得參數或資料行資訊,再呼叫 Execute 方法。

  • Transact Updates 設定為 True

  • 取得資料列狀態。

  • 呼叫 Resync 方法。

  • 透過 Update Resync 屬性進行重新整理 (明確或自動)。

  • 設定 CommandRecordset 屬性。

  • 使用 adCmdTableDirect

依預設,RDS.DataControl 物件會以非同步模式執行。 如果您需要同步執行應用程式,請設定等於 adcExecSyncExecuteOptions 參數和設定等於 adcFetchUpFrontFetchOptions 參數,如下列範例所示。

<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"   
    ID="DataControl"  
   <PARAM NAME="Connect" VALUE="DSN=DSNName;UID=MyUserID;PWD=MyPassword;">  
   <PARAM NAME="Server" VALUE="https://awebsrvr">  
   <PARAM NAME="SQL" VALUE="QueryText">  
   <PARAM NAME="ExecuteOptions" VALUE="1">   <PARAM NAME="FetchOptions" VALUE="1">  
</OBJECT>  

使用一個 RDS.DataControl 物件,將單一查詢的結果連結至一或多個視覺控制項。 例如,假設您撰寫要求的程式碼以要求客戶資料,例如姓名、居住地、生日、年齡和優先順序客戶狀態。 您可使用單一 RDS.DataControl 物件,以三個個別文字輸入框顯示客戶的姓名、年齡和區域;在核取方塊中顯示優先順序客戶狀態;在格線控制項中顯示所有資料。

使用不同的 RDS.DataControl 物件,將多個查詢的結果連結至不同的視覺控制項。 例如,假設您使用一個查詢來取得客戶的相關資訊,而第二個查詢來取得客戶購買商品的相關資訊。 您想要在三個文字輸入框中和一個核取方塊中顯示第一個查詢的結果,並在格線控制項中顯示第二個查詢的結果。 如果您使用預設商務物件 (RDSServer.DataFactory),您必須執行下列動作:

  • 將兩個 RDS.DataControl 物件新增至您的網頁。

  • 撰寫兩個查詢,分別用於兩個 RDS.DataControl 物件的每個 SQL 屬性。 一個 RDS.DataControl 物件將包含要求客戶資訊的 SQL 查詢;第二個會包含要求客戶購買商品清單的查詢。

  • 在每個繫結控制項的 OBJECT 標記中,指定 DATAFLD 值以設定您要在每個視覺控制項中顯示的資料值。

RDS.DataControl 物件的數目沒有計數限制,您可透過在單一網頁中使用 OBJECT 標記進行內嵌。

當您在網頁上定義 RDS.DataControl 物件時,請使用非零 HeightWidth 值,例如 1 (以避免包含額外的空間)。

遠端資料服務用戶端元件已包含作為 Internet Explorer 4.0 的一部分;因此,您不需要在 RDS.DataControl 物件標記中包含 CODEBASE 參數。

使用 Internet Explorer 4.0 或更新版本時,只有當 HTML 控件和 ActiveX 控件標示為 Apartment 模型控件時,才可以繫結至數據。

注意

Microsoft Visual Basic 使用者RDS.DataControl 對於撰寫指令碼而言是安全的並僅用於網頁型應用程式。 Visual Basic 用戶端應用程式無須進行。

本節涵蓋下列主題。

另請參閱

DataControl 物件範例 (VBScript)