Refresh Method Example (VBScript)
Important
Beginning with Windows 8 and Windows Server 2012, RDS server components are no longer included in the Windows operating system (see Windows 8 and Windows Server 2012 Compatibility Cookbook for more detail). RDS client components will be removed in a future version of Windows. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Applications that use RDS should migrate to WCF Data Service.
The following example shows how to set the necessary parameters of RDS.DataControl at run time. The manner in which a Recordset is retrieved using the Refresh method is determined by the settings of the ExecuteOptions and FetchOptions properties. To test this example, cut and paste the following code into a normal ASP document and name it RefreshVBS.asp. Use Find to locate the file Adovbs.inc and place it in the directory you plan to use. ASP script will identify your server.
<!-- BeginRefreshVBS -->
<%@ Language=VBScript %>
<!--use the following META tag instead of adovbs.inc-->
<!--METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" -->
<html>
<head>
<meta name="VI60_DefaultClientScript" content=VBScript>
<meta name="GENERATOR" content="Microsoft Visual Studio 6.0">
<title>Refresh Method Example (VBScript)</title>
<style>
<!--
body {
font-family: 'Verdana','Arial','Helvetica',sans-serif;
BACKGROUND-COLOR:white;
COLOR:black;
}
.thead {
background-color: #008080;
font-family: 'Verdana','Arial','Helvetica',sans-serif;
font-size: x-small;
color: white;
}
.thead2 {
background-color: #800000;
font-family: 'Verdana','Arial','Helvetica',sans-serif;
font-size: x-small;
color: white;
}
.tbody {
text-align: center;
background-color: #f7efde;
font-family: 'Verdana','Arial','Helvetica',sans-serif;
font-size: x-small;
}
-->
</style>
</head>
<body>
<h1>Refresh Method Example (VBScript)</h1>
<H2>RDS API Code Examples </H2>
<HR>
<TABLE DATASRC=#RDC>
<TR>
<TD> <INPUT DATAFLD="FirstName" SIZE=15> </TD>
<TD> <INPUT DATAFLD="LastName" SIZE=15> </TD>
<TD> <INPUT DATAFLD="Title" SIZE=15> </TD>
<TD> <INPUT DATAFLD="HireDate" SIZE=15> </TD>
</TR>
</TABLE>
<!-- RDS.DataControl with no parameters set at design time -->
<OBJECT classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
ID=RDC HEIGHT=1 WIDTH=1>
</OBJECT>
<HR>
Server: <Input Size=70 Name="txtServer" Value="https://<%=Request.ServerVariables("SERVER_NAME")%>"><BR>
Connect: <Input Size=70 Name="txtConnect" Value="Provider='sqloledb';Integrated Security='SSPI';Initial Catalog='Northwind'"><BR>
SQL: <Input Size=70 Name="txtSQL" Value="Select * from Employees">
<HR>
<TABLE BORDER=1 WIDTH="60%">
<TR>
<TD COLSPAN=3 BGCOLOR=silver>
Choose if you want the Recordset brought back Synchronously on the
current calling thread or Asynchronously on another thread.
</TD>
</TR>
<TR>
<TD>Synchronously: <BR>
<Input Type="Radio" Name="optExecuteOptions" Checked OnClick="SetExO('adcExecSync')">
</TD>
<TD>Asynchronously: <BR>
<Input Type="Radio" Name="optExecuteOptions" OnClick="SetExO('adcExecAsync')">
</TD>
<TD> </TD>
</TR>
<TR>
<TD COLSPAN=3 BGCOLOR=silver>
Fetch Up Front, Background Fetch with Blocking or Background Fetch
without Blocking
</TD>
<TR>
<TD>Up Front:<BR>
<Input Type="Radio" Name="optFetchOptions" OnClick="SetFO('adcFetchUpFront')">
</TD>
<TD>Background w/ Blocking:<BR>
<Input Type="Radio" Name="optFetchOptions" Checked OnClick="SetFO('adcFetchBackground')">
</TD>
<TD>Background w/o Blocking:<BR>
<Input Type="Radio" Name="optFetchOptions" OnClick="SetFO('adcFetchAsync')">
</TD>
</TR>
</TABLE>
<INPUT TYPE=BUTTON NAME="Run" VALUE="Run"><BR>
<Script Language="VBScript">
<!--
Dim EO 'ExecuteOptions
Dim FO 'FetchOptions
EO = "adcExecSync" 'Default value
FO = "adcFetchBackground" 'Default value
Sub SetExO(NewEO)
EO = NewEO
End Sub
Sub SetFO(NewFO)
FO = NewFO
End Sub
' Set parameters of RDS.DataControl at Run Time
Sub Run_OnClick
RDC.Server = txtServer.Value
RDC.SQL = txtSQL.Value
RDC.Connect = txtConnect.Value
If EO = "adcExecSync" Then 'Determine which ExecuteOption chosen
RDC.ExecuteOptions = adcExecSync
MsgBox "Recordset brought in on current calling thread Syncronously"
Else
RDC.ExecuteOptions = adcExecAsync
MsgBox "Recordset brought in on another thread Asyncronously"
End If
If FO = "adcFetchBackground" Then 'Determine which FetchOption chosen
RDC.FetchOptions = adcFetchBackground
MsgBox "Control goes back to user after first batch of records returned"
ElseIf FO = " adcFetchUpFront" Then
RDC.FetchOptions = adcFetchUpFront
MsgBox "All records returned before control goes back to user"
Else
RDC.FetchOptions = adcFetchAsync
MsgBox "Control goes back to user immediately"
End If
RDC.Refresh
End Sub
-->
</Script>
</body>
</html>
<!-- EndRefreshVBS -->
See Also
DataControl Object (RDS)
ExecuteOptions Property (RDS)
FetchOptions Property (RDS)
Recordset Object (ADO)
Refresh Method (ADO)