この例では、Delete メソッドを使って、指定されたレコードを Recordset から削除します。
次の例は、Active Server Pages (ASP) で使用してください。この例を完全に機能させて表示するには、SDK と共にインストールされるデータ ソース AdvWorks.mdb が、C:\mssdk\samples\dataaccess\rds に置かれている必要があります。これは、Microsoft Access のデータベース ファイルです。
検索機能を使ってファイル Adovbs.inc を検索し、使用するディレクトリに置きます。次のコードをコピーして、メモ帳または別のテキスト エディタに貼り付け、「Delete.asp」という名前で保存します。結果は、任意のクライアント ブラウザで表示できます。
例を実行するときは、最初に AddNew の例を使用してレコードをいくつか追加します。その後で、それらのレコードを削除してください。任意のクライアント ブラウザで結果を確認してください。
<%@ Language=VBScript %>
<!-- #Include file="ADOVBS.INC" -->
<HTML>
<HEAD>
<TITLE>ADO Delete Method</TITLE>
</HEAD>
<STYLE>
<!--
TH {
background-color: #008080;
font-family: 'Arial Narrow','Arial',sans-serif;
font-size: xx-small;
color: white;
}
TD {
text-align: center;
background-color: #f7efde;
font-family: 'Arial Narrow','Arial',sans-serif;
font-size: xx-small;
}
-->
</STYLE>
<BODY>
<H3>ADO Delete Method</H3>
<!--- ADO Connection Object used to Create recordset-->
<%
src = "c:\mssdk\samples\dataaccess\rds\advworks.mdb"
sConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & src
'Create and Open Connection Object
Set OBJdbConn = Server.CreateObject("ADODB.Connection")
OBJdbConn.Open sConnStr
'Create and Open Recordset Object
Set RsCustomerList = Server.CreateObject("ADODB.Recordset")
RsCustomerList.ActiveConnection = OBJdbConn
RsCustomerList.CursorType = adOpenKeyset
RsCustomerList.LockType = adLockOptimistic
RsCustomerList.Source = "Customers"
RsCustomerList.Open
%>
<!-- Move to designated record and delete it -->
<%
If Not IsEmpty(Request.Form("WhichRecord")) Then
'Get value to move from Form Post method
Moves = Request.Form("WhichRecord")
RsCustomerList.Move CInt(Moves)
If Not RsCustomerList.EOF or RsCustomerList.BOF Then
RsCustomerList.Delete 1
RsCustomerList.MoveFirst
Else
Response.Write "Not a Valid Record Number"
RsCustomerList.MoveFirst
End If
End If
%>
<!-- BEGIN column header row for Customer Table-->
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>
<TR>
<TH>Rec. #</TH>
<TH>Company Name</TH>
<TH>Contact Name</TH>
<TH>Phone Number</TH>
<TH>City</TH>
<TH>State/Province</TH>
</TR>
<!--Display ADO Data from Customer Table Loop through Recordset adding
One Row to HTML Table each pass-->
<%
iCount = 0
Do While Not RsCustomerList.EOF %>
<TR>
<TD> <%= CStr(iCount) %>
<TD> <%= RSCustomerList("CompanyName")%> </TD>
<TD> <%= RScustomerList("ContactLastName") & ", " %>
<%= RScustomerList("ContactFirstName") %>
</TD>
<TD> <%= RScustomerList("PhoneNumber")%> </TD>
<TD> <%= RScustomerList("City")%> </TD>
<TD> <%= RScustomerList("StateOrProvince")%> </TD>
</TR>
<!-Next Row = Record Loop and add to html table-->
<%
iCount = iCount + 1
RScustomerList.MoveNext
Loop
%>
</TABLE>
<!-- Do Client side Input Data Validation Move to named record and Delete it -->
<Center>
<H4>Clicking Button Will Remove Designated Record</H4>
<H5>There are <%=RsCustomerList.RecordCount%> Records in this Set</H5>
<Form Method=Post Action="Delete.asp" Name=Form>
<Input Type=Text Name="WhichRecord" Size=3>
</Form>
<Input Type=Button Name=cmdDelete Value="Delete Record">
</BODY>
<Script Language = "VBScript">
Sub cmdDelete_OnClick
If IsNumeric(Document.Form.WhichRecord.Value) Then
Document.Form.WhichRecord.Value = CInt(Document.Form.WhichRecord.Value)
Dim Response
Response = MsgBox("Are You Sure About Deleting This Record?", vbYesNo, "ADO-ASP Example")
If Response = vbYes Then
Document.Form.Submit
End If
Else
MsgBox "You Must Enter a Valid Record Number",,"ADO-ASP Example"
End If
End Sub
</Script>
</HTML>