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>