Refresh-Methode – Beispiel (VBScript)
Wichtig
Ab Windows 8 und Windows Server 2012 sind RDS-Serverkomponenten nicht mehr im Windows-Betriebssystem enthalten (weitere Informationen finden Sie in den jeweiligen Kompatibilitäts-Cookbooks zu Windows 8 und Windows Server 2012). RDS-Clientkomponenten werden in einer zukünftigen Version von Windows entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Anwendungen, die RDS verwenden, sollten zu WCF Data Service migriert werden.
Im folgenden Beispiel wird gezeigt, wie Sie die erforderlichen Parameter von RDS.DataControl zur Laufzeit festlegen. Die Art, in der ein Recordset mithilfe der Refresh-Methode abgerufen wird, wird durch die Einstellungen der ExecuteOptions- und FetchOptions-Eigenschaften bestimmt. Zum Testen dieses Beispiels schneiden Sie den folgenden Code aus, fügen ihn in ein normales ASP-Dokument ein und nennen es RefreshVBS.asp. Verwenden Sie Suchen, um die Datei „Adovbs.inc“ zu suchen und in dem Verzeichnis abzulegen, das Sie verwenden möchten. Das ASP-Skript identifiziert Ihren 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 -->
Weitere Informationen
DataControl-Objekt (RDS)
ExecuteOptions-Eigenschaft (RDS)
FetchOptions-Eigenschaft (RDS)
Recordset-Objekt (ADO)
Refresh-Methode (ADO)