Execute、Requery 和 Clear 方法範例 (VBScript)
此範例示範從 Command 物件和 Connection 物件執行時的 Execute 方法。 還會使用 Requery 方法來擷取 recordset 中的目前資料,以及使用 Clear 方法來清除 Errors 集合的內容。 執行此程序需要 ExecuteCommand 和 PrintOutput 程序。
使用 Active Server Page (ASP) 中的下列範例。 若要檢視此功能完整的範例,您必須使資料來源 AdvWorks.mdb (隨 SDK 範例一起安裝) 位於 C:\Program Files\Microsoft Platform SDK\Samples\DataAccess\Rds\RDSTest\advworks.mdb,或編輯範例程式碼中的路徑,以反映此檔案的實際位置。 這是 Microsoft Access 資料庫檔案。
使用 Find 來找出檔案 Adovbs.inc,並將其放置在您打算要使用的目錄中。 將下列程式碼剪下並貼上到「記事本」或其他文字編輯器,並將其儲存為 ExecuteVBS.asp。 您可以在任何用戶端瀏覽器中顯示結果。
<!-- 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 -->
另請參閱
Clear 方法 (ADO)
Command 物件 (ADO)
Connection 物件 (ADO)
Error 物件
Errors 集合 (ADO)
Execute 方法 (ADO 命令)
Execute 方法 (ADO Connection)
Recordset 物件 (ADO)
Requery 方法