Partager via


Refresh Method Example (VBScript)

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>&nbsp;</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 | Refresh Method