Execute-, Requery- und Clear-Methode (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 ExecuteCommand- und PrintOutput-Prozeduren sind erforderlich, damit diese Prozedur ausgeführt werden kann.
Verwenden Sie das folgende Beispiel in einer Active Server Page (ASP). Um dieses voll funktionsfähige Beispiel anzuzeigen, müssen Sie entweder die Datenquelle AdvWorks.mdb (mit den SDK-Beispielen installiert) haben, die sich unter C:\Programme\Microsoft Platform SDK\Samples\DataAccess\Rds\RDSTest\advworks.mdb befindet, oder den Pfad im Beispielcode bearbeiten, um den tatsächlichen Speicherort dieser Datei widerzuspiegeln. Dies ist eine Microsoft Access-Datenbankdatei.
Verwenden Sie Find, um die Datei Adovbs.inc zu suchen und in dem Verzeichnis zu platzieren, das Sie verwenden möchten. Schneiden Sie den folgenden Code aus, fügen Sie ihn in Editor oder einem anderen Text-Editor ein, und speichern Sie ihn als ExecuteVBS.asp. Sie können das Ergebnis in einem 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 -->
Siehe auch
Clear-Methode (ADO)
Command-Objekt (ADO)
Connection-Objekt (ADO)
Error Object
Errors-Auflistung (ADO)
Execute-Methode (ADO-Befehl)
Execute-Methode (ADO-Verbindung)
Recordset-Objekt (ADO)
Requery-Methode