ADO 記録の削除
- 前のページ ADO 更新
- 次のページ ADO アクセラレーション
SQLのDELETEコマンドを使用して、データベーステーブルから特定のレコードを削除できます。
テーブルのレコードを削除する
Northwind データベースの Customers テーブルから一つのレコードを削除したいです。まず、Customers テーブルのすべてのレコードをリストアップするためのテーブルを作成する必要があります。
<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs=Server.CreateObject("ADODB.Recordset") rs.open "SELECT * FROM customers",conn %> <h2>データベース一覧</h2> <table border="1" width="100%"> <tr> <% for each x in rs.Fields response.write("<th>" & ucase(x.name) & "</th>") 次 %> </tr> <% do until rs.EOF %> <tr> <form method="post" action="demo_delete.asp"> <% for each x in rs.Fields if x.name="customerID" then%> <td> <input type="submit" name="customerID" value="<%=x.value%>"> </td> <%else%> <td><%Response.Write(x.value)%></td> <%end if 次 %> </form> <%rs.MoveNext%> </tr> <% loop conn.close %> </table> </body> </html>
ユーザーが「customerID」列のボタンをクリックすると、新しいファイル「demo_delete.asp」が開かれます。このファイルには、データベースのレコードのフィールドに基づいた入力フィールドのソースコードが含まれており、現在のレコードを削除する「削除ボタン」も含まれています:
<html> <body> <h2>レコードを削除</h2> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" cid=Request.Form("customerID" if Request.form("companyname")="" then set rs=Server.CreateObject("ADODB.Recordset") rs.open "SELECT * FROM customers WHERE customerID='" & cid & "'",conn %> <form method="post" action="demo_delete.asp"> <table> <%for each x in rs.Fields%> <tr> <td><%=x.name%></td> <td><input name="<%=x.name%>" value="<%=x.value%>"></td> <%next%> </tr> </table> <br /><br /> <input type="submit" value="レコードを削除"> </form> <% else sql="DELETE FROM customers" sql=sql & " WHERE customerID='" & cid & "'" on error resume next conn.Execute sql if err<>0 then response.write("更新権限がありません!") else response.write("レコード " & cid & " が削除されました!") end if end if conn.close %> </body> </html>
- 前のページ ADO 更新
- 次のページ ADO アクセラレーション