Execute、Requery、および Clear メソッドの例 (VBScript)
この例では、Command オブジェクトと Connection オブジェクトの両方から実行したときの Execute メソッドを示します。 また、Requery メソッドを使用してレコードセット内の現在のデータを取得し、Clear メソッドを使用して Errors コレクションの内容をクリアします。 ExecuteCommand プロシージャと PrintOutput プロシージャは、このプロシージャを実行するために必要です。
Active Server ページ (ASP) で次の例を使用します。 この完全に機能する例を見るには、データ ソース AdvWorks.mdb (SDK サンプルと共にインストール) が C:\Program Files\Microsoft Platform SDK\Samples\DataAccess\Rds\RDSTest\advworks.mdb にあるか、コード例のパスを編集してこのファイルの実際の場所を反映する必要があります。 これは Microsoft Access データベース ファイルです。
[検索] を使用して 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 Command)
Execute メソッド (ADO Connection)
Recordset オブジェクト (ADO)
Requery メソッド