ADO Record Verwijderen

We kunnen de DELETE-opdracht van SQL gebruiken om een record uit een database-tabel te verwijderen.

Verwijderen van records in de tabel

Wij willen een record verwijderen uit de tabel Customers van de Northwind-database. Ten eerste moeten we een tabel maken om alle records van Customers op te sommen.

<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>Database Lijst</h2>
<table rand="1" breedte="100%">
<tr>
<%
for each x in rs.Velden
  response.write("<th>" & ucase(x.naam) & "</th>")
next
%>
</tr>
<% do until rs.EOF %>
<tr>
<form methode="post" actie="demo_delete.asp">
<%
for each x in rs.Velden
  if x.naam="klantID" then%>
    <td>
    <input type="submit" naam="klantID" waarde="<%=x.waarde%>">
    </td>
  <%else%>
    <td><%Response.Write(x.waarde)%></td>
  <%end if
next
%>
</form>
<%rs.MoveNext%>
</tr>
<%
loop
conn.close
%>
</table>
</body>
</html>

Als de gebruiker op de knop in de "klantID" kolom klikt, wordt een nieuw bestand "demo_delete.asp" geopend. Dit bestand bevat de broncode voor het maken van invoervelden, gebaseerd op de velden van de database, en bevat ook een "verwijder record" knop:

<html>
<body>
<h2>Verwijder Record</h2>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
cid=Request.Form("klantID"
if Request.form("bedrijfsnaam")="" then
  set rs=Server.CreateObject("ADODB.Recordset")
  rs.open "SELECT * FROM klanten WHERE klantID='" & cid & "'",conn
  %>
  <form methode="post" actie="demo_delete.asp">
  <table>
  <%for each x in rs.Velden%>
  <tr>
  <td><%=x.naam%></td>
  <td><input naam="<%=x.naam%>" waarde="<%=x.waarde%>"></td>
  <%next%>
  </tr>
  </table>
  <br /><br />
  <input type="submit" value="Gegevens record verwijderen">
  </form>
<%
else
  sql="DELETE FROM customers"
  sql=sql & " WHERE customerID='" & cid & "'"
  on error resume next
  conn.Execute sql
  if err<>0 then
    response.write("Geen bijwerkrechten!")
  else 
    response.write("Record " & cid & " werd verwijderd!")
  end if 
end if
conn.close
%>
</body>
</html>