RDS 教程 (VBScript)

这是在 Microsoft Visual Basic Scripting Edition 中编写的 RDS 教程。 有关本教程用途的说明,请参阅 RDS 教程

重要

从 Windows 8 和 Windows Server 2012 开始,Windows 操作系统不再包含 RDS 服务器组件(有关更多详细信息,请参阅 Windows 8 和 Windows Server 2012 兼容性实用手册)。 Windows 的未来版本中将移除 RDS 客户端组件。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 使用 RDS 的应用程序应迁移到 WCF 数据服务

在本教程中,RDS.DataControlRDS.DataSpace 是在设计时创建的,也就是说,它们使用对象标记进行定义,如下所示:<OBJECT>...</OBJECT>。 或者,可以在运行时使用 CreateObject 方法 (RDS) 方法创建。 例如,RDS.DataControl 对象可以采用以下方式进行创建:

Set DC = Server.CreateObject("RDS.DataControl")  
   <!-- RDS.DataControl -->  
   <OBJECT   
      ID="DC1" CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E33">  
   </OBJECT>  
  
   <!-- RDS.DataSpace -->  
   <OBJECT   
      ID="DS1" WIDTH=1 HEIGHT=1  
      CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36">  
   </OBJECT>  
  
   <SCRIPT LANGUAGE="VBScript">  
  
   Sub RDSTutorial()  
   Dim DF1   

步骤 1 - 指定服务器程序

VBScript 可以通过访问可用于活动服务器页的 VBScript Request.ServerVariables 方法来发现它正在上面运行的 IIS Web 服务器的名称:

"https://<%=Request.ServerVariables("SERVER_NAME")%>"  

但是,对于本教程,请使用虚构服务器“yourServer”。

注意

请注意 ByRef 参数的数据类型。 VBScript 不允许指定变量类型,因此必须始终传递一个 Variant。 使用 HTTP 时,RDS 可将 Variant 传递给需要非 Variant 的方法(如果使用 RDS.DataSpace 对象 CreateObject 方法调用它)。 使用 DCOM 或进程内服务器时,必须匹配客户端和服务器端的参数类型,否则将收到“类型不匹配”错误。

Set DF1 = DS1.CreateObject("RDSServer.DataFactory", "https://yourServer")  

步骤 2a - 使用 RDS.DataControl 调用服务器程序

此示例只是一个注释,演示 RDS.DataControl 默认行为是执行指定的查询。

<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DC1">  
   <PARAM NAME="SQL" VALUE="SELECT * FROM Authors">  
   <PARAM NAME="Connect" VALUE="DSN=Pubs;">  
   <PARAM NAME="Server" VALUE="https://yourServer/">  
</OBJECT>  
...  
<SCRIPT LANGUAGE="VBScript">  
  
Sub RDSTutorial2A()  
   Dim RS  
   DC1.Refresh  
   Set RS = DC1.Recordset  
...  

步骤 2b - 使用 RDSServer.DataFactory 调用服务器程序

步骤 3 - 服务器获取一个记录集

步骤 4 - 服务器返回该记录集

Set RS = DF1.Query("DSN=Pubs;", "SELECT * FROM Authors")  

步骤 5 - 视觉对象控件使 DataControl 可用

' Assign the returned recordset to the DataControl.  
  
DC1.SourceRecordset = RS  

步骤 6a - 使用 RDS.DataControl 将更改发送到服务器

此示例只是一个注释,演示 RDS.DataControl 执行更新的方式。

<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DC1">  
   <PARAM NAME="SQL" VALUE="SELECT * FROM Authors">  
   <PARAM NAME="Connect" VALUE="DSN=Pubs;">  
   <PARAM NAME="Server" VALUE="https://yourServer/">  
</OBJECT>  
...  
<SCRIPT LANGUAGE="VBScript">  
  
Sub RDSTutorial6A()  
Dim RS  
DC1.Refresh  
...  
Set RS = DC1.Recordset  
' Edit the Recordset object...  
' The SERVER and CONNECT properties are already set from Step 2A.  
Set DC1.SourceRecordset = RS  
...  
DC1.SubmitChanges  

步骤 6b - 使用 RDSServer.DataFactory 将更改发送到服务器

DF.SubmitChanges "DSN=Pubs", RS  
  
End Sub  
</SCRIPT>  
</BODY>  
</HTML>  

本教程到此结束。

另请参阅

RDS 教程