ADO Suppression d'enregistrements


Nous pouvons utiliser la commande SQL DELETE pour supprimer un enregistrement d'une table de base de données.


Suppression d'enregistrements d'une table

Nous voulons supprimer un enregistrement de la table Customers dans la base de données Northwind. Tout d'abord, nous devons créer une table qui répertorie tous les enregistrements dans 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>Lister la base de données</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.html">
<%
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>

Si l'utilisateur clique sur le bouton dans la colonne "customerID", le nouveau fichier "demo_delete.asp" s'ouvrira. Ce fichier contient le code source qui crée des champs de saisie en fonction des champs de l'enregistrement dans la base de données, et inclut également un "Bouton Supprimer" pour supprimer l'enregistrement actuel :

<html>
<body>

<h2>Supprimer l'enregistrement</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.html">
  <table>
  <%for each x in rs.Fields%>
  <tr>
  <td><%=x.name%></td>
  
  <%next%>
  </tr>
  </table>
  <br><br>
  <input type="submit" value="Supprimer l'enregistrement">
  </form>
<%
else
  sql="DELETE FROM customers"
  sql=sql & " WHERE customerID='" & cid & "'"
  on error resume next
  conn.Execute sql
  if err<>0 then
    response.write("Aucune permission de mise à jour !")
  else
    response.write("Enregistrement " & cid & " a été supprimé !")
  end if
end if
conn.close
%>

</body>
</html>
Autres extensions