Methoden Execute, Requery und Clear – Beispiel (VBScript)
In diesem Beispiel wird die Execute-Methode veranschaulicht, wenn sie sowohl aus einem Command-Objekt als auch aus einem Connection-Objekt ausgeführt wird. Außerdem wird die Requery-Methode verwendet, um aktuelle Daten in einem Recordset abzurufen, und die Clear-Methode, um den Inhalt der Errors-Auflistung zu löschen. Die Prozeduren ExecuteCommand und PrintOutput sind für die Ausführung dieser Prozedur erforderlich.
Verwenden Sie das folgende Beispiel in einer Active Server Page (ASP). Um dieses voll funktionsfähige Beispiel anzuzeigen, müssen Sie entweder über die Datenquelle „AdvWorks.mdb“ (installiert mit den SDK-Beispielen) verfügen, die sich in „C:\Programme\Microsoft Platform SDK\Samples\DataAccess\Rds\RDSTest\advworks.mdb“ befindet, oder den Pfad im Beispielcode so bearbeiten, dass er den tatsächlichen Speicherort dieser Datei wiedergibt. Dies ist eine Microsoft Access-Datenbankdatei.
Verwenden Sie Find (Suchen), um die Datei „Adovbs.inc“ zu suchen und in dem Verzeichnis zu platzieren, das Sie verwenden möchten. Schneiden Sie den folgenden Code aus, und fügen Sie ihn in Editor oder einen anderen Text-Editor ein. Speichern Sie ihn anschließend als ExecuteVBS.asp. Sie können das Ergebnis in jedem beliebigen Clientbrowser anzeigen.
<!-- BeginExecuteVBS -->
<%@ Language=VBScript %>
<% ' use this 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>ADO Execute Method</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>
<H3>ADO Execute Method</H3>
<HR>
<H4>Recordset Retrieved Using Connection Object</H4>
<!--- Recordsets retrieved using Execute method of Connection and Command Objects-->
<%
' connection, command and recordset variables
Dim Cnxn, strCnxn
Dim rsCustomers, strSQLCustomers
Dim Cmd
Dim rsProducts, strSQLProducts
' create and open connection
Set Cnxn = Server.CreateObject("ADODB.Connection")
strCnxn="Provider='sqloledb';Data Source=" & _
Request.ServerVariables("SERVER_NAME") & ";" & _
"Integrated Security='SSPI';Initial Catalog='Northwind';"
Cnxn.Open strCnxn
' create and open recordset
Set rsCustomers = Server.CreateObject("ADODB.Recordset")
strSQLCustomers = "Customers"
rsCustomers.Open strSQLCustomers, Cnxn, adOpenKeyset, adLockOptimistic, adCmdTable
'1st Recordset using Connection - Execute
Set rsCustomers = Cnxn.Execute(strSQLCustomers)
Set Cmd = Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cnxn
strSQLProducts = "SELECT * From Products"
Cmd.CommandText = strSQLProducts
'2nd Recordset Cmd - execute
Set rsProducts = Cmd.Execute
%>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0 ALIGN=CENTER>
<!-- BEGIN column header row for Customer Table-->
<TR CLASS=thead>
<TH>Company Name</TH>
<TH>Contact Name</TH>
<TH>City</TH>
</TR>
<!--Display ADO Data from Customer Table-->
<%
Do While Not rsCustomers.EOF %>
<TR CLASS=tbody>
<TD>
<%= rsCustomers("CompanyName")%>
</TD>
<TD>
<%= rsCustomers("ContactName") %>
</TD>
<TD>
<%= rsCustomers("City")%>
</TD>
</TR>
<%
rsCustomers.MoveNext
Loop
%>
</TABLE>
<HR>
<H4>Recordset Retrieved Using Command Object</H4>
<TABLE CELLPADDING=5 BORDER=0 ALIGN=CENTER WIDTH="80%">
<!-- BEGIN column header row for Product List Table-->
<TR CLASS=thead2>
<TH>Product Name</TH>
<TH>Unit Price</TH>
</TR>
<!-- Display ADO Data Product List-->
<% Do Until rsProducts.EOF %>
<TR CLASS=tbody>
<TD>
<%= rsProducts("ProductName")%>
</TD>
<TD>
<%= rsProducts("UnitPrice")%>
</TD>
<%
rsProducts.MoveNext
Loop
' clean up
If rsCustomers.State = adStateOpen then
rsCustomers.Close
End If
If rsProducts.State = adStateOpen then
rsProducts.Close
End If
If Cnxn.State = adStateOpen then
Cnxn.Close
End If
Set Cmd = Nothing
Set rsCustomers = Nothing
Set rsProducts = Nothing
Set Cnxn = Nothing
%>
</TABLE>
</BODY>
</HTML>
<!-- EndExecuteVBS -->
Weitere Informationen
Clear-Methode (ADO)
Command-Objekt (ADO)
Connection-Objekt (ADO)
Error-Objekt
Errors-Collection (ADO)
Execute-Methode (ADO-Befehl)
Execute-Methode (ADO-Verbindung)
Recordset-Objekt (ADO)
Requery-Methode