以下范例举例说明如何在运行时设置必要的 RDS.DataControl 参数。使用 Refresh 方法检索 Recordset 的方式取决于 ExecuteOptions 和 FetchOptions 属性的设置。如要测试该范例,请剪切该代码并粘贴至规范的 HTML 文本的 <Body></Body> 标记之间,并将其命名为“ADCapi2.asp”。ASP 脚本将标识服务器。
<HTML> <HEAD> <TITLE>Refresh / ExecuteOptions</TITLE> </HEAD> <BODY> <Center><H2>RDS API Code Examples </H2> <HR> <Object CLASSID="clsid:AC05DC80-7DF1-11d0-839E-00A024A94B3A" CODEBASE="http://<%=Request.ServerVariables("SERVER_NAME")%>/MSADC/Samples/Sheridan.cab" ID=GRID1 datasrc=#ADC HEIGHT=125 WIDTH=495> <PARAM NAME="AllowAddNew" VALUE="TRUE"> <PARAM NAME="AllowDelete" VALUE="TRUE"> <PARAM NAME="AllowUpdate" VALUE="TRUE"> <PARAM NAME="Caption" VALUE="Remote Data Service Run Time"> </OBJECT><!-- 在设计时设置的不带参数的 RDS.DataControl --> <OBJECT classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID=ADC> </OBJECT> <HR> <Input Size=70 Name="txtServer" Value="http://<%=Request.ServerVariables("SERVER_NAME")%>"><BR> <Input Size=70 Name="txtConnect" Value = "dsn=ADCDemo;UID=ADCDemo;PWD=ADCDemo;"><BR> <Input Size=70 Name="txtSQL" Value="Select * from Employee"> <BR> Choose if you want the Recordset brought back Synchronously on the current calling thread or Asynchronously on another thread <Input Type="Radio" Name="optExecuteOptions" Checked OnClick="SetExO('adcExecSync')"> <Input Type="Radio" Name="optExecuteOptions" OnClick="SetExO('adcExecAsync')"><BR> Fetch Up Front, Background Fetch with Blocking or Background Fetch without Blocking <Input Type="Radio" Name="optFetchOptions" OnClick="SetFO('adcFetchUpFront')"> <Input Type="Radio" Name="optFetchOptions" Checked OnClick="SetFO('adcFetchBackground')"> <Input Type="Radio" Name="optFetchOptions" OnClick="SetFO('adcFetchAsync')"> <HR> <INPUT TYPE=BUTTON NAME="Run" VALUE="Run"><BR> <H4>Fill Grid with these values or change them to see data from another ODBC data source on your server</H4> </Center> <Script Language="VBScript"> <!-- Dim EO 'ExecuteOptions Dim FO 'FetchOptions EO = "adcExecSync" ' 默认值 FO = "adcFetchBackground" ' 默认值 Sub SetExO(NewEO) EO = NewEO End Sub Sub SetFO(NewFO) FO = NewFO End Sub ' 在运行时设置 RDS.DataControl 参数。 Sub Run_OnClick ADC.Server = txtServer.Value ADC.SQL = txtSQL.Value ADC.Connect = txtConnect.Value If EO = "adcExecSync" Then ' 选择 ExecuteOption ADC.ExecuteOptions = adcExecSync MsgBox "Recordset brought in on current calling thread Syncronously" Else ADC.ExecuteOptions = adcExecAsync MsgBox "Recordset brought in on another thread Asyncronously" End IfIf FO = "adcFetchBackground" Then ' 选择 FetchOption ADC.FetchOptions = adcFetchBackground MsgBox "Control goes back to user after first batch of records returned" ElseIf FO = " adcFetchUpFront" Then ADC.FetchOptions = adcFetchUpFront MsgBox "All records returned before control goes back to user" Else ADC.FetchOptions = adcFetchAsync MsgBox "Control goes back to user immediately" End IfADC.RefreshEnd Sub --> </Script> </BODY> </HTML>