ADO 删除记录

Μπορούμε να χρησιμοποιήσουμε την εντολή DELETE του SQL για να διαγράψουμε ένα ρητό από τη βάση δεδομένων της τάξης.

Διαγραφή εγγραφών της τάξης

Ελπίζουμε να διαγράψουμε ένα ρητό από την τаблицή Customers της βάσης δεδομένων Northwind. Πρώτα πρέπει να δημιουργήσουμε ένα πίνακα για να καταγράψουμε όλα τα ρητά των 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>")
next
%>
</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
next
%>
</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="Delete record">
  </form>
<%
else
  sql="DELETE FROM customers"
  sql=sql & " WHERE customerID='" & cid & "'"
  on error resume next
  conn.Execute sql
  if err<>0 then
    response.write("No update permissions!")
  else 
    response.write("Record " & cid & " was deleted!")
  end if 
end if
conn.close
%>
</body>
</html>