Derniers tutoriels de développement web
 

ADO Ajouter enregistrements


Nous pouvons utiliser l'instruction SQL INSERT INTO commande pour ajouter un enregistrement à une table dans une base de données.


Ajouter un enregistrement à une table dans une base de données

Nous voulons ajouter un nouvel enregistrement à la table des clients dans la base de données Northwind. On crée d'abord une forme qui contient les champs que nous voulons recueillir des données à partir de:

<html>
<body>

<form method="post" action="demo_add.asp">
<table>
<tr>
<td>CustomerID:</td>
<td><input name="custid"></td>
</tr><tr>
<td>Company Name:</td>
<td><input name="compname"></td>
</tr><tr>
<td>Contact Name:</td>
<td><input name="contname"></td>
</tr><tr>
<td>Address:</td>
<td><input name="address"></td>
</tr><tr>
<td>City:</td>
<td><input name="city"></td>
</tr><tr>
<td>Postal Code:</td>
<td><input name="postcode"></td>
</tr><tr>
<td>Country:</td>
<td><input name="country"></td>
</tr>
</table>
<br><br>
<input type="submit" value="Add New">
<input type="reset" value="Cancel">
</form>

</body>
</html>

Lorsque l'utilisateur appuie sur le bouton d' envoi du formulaire est envoyé dans un fichier appelé "demo_add.asp" . Le "demo_add.asp" fichier contient le code qui ajoutera un nouvel enregistrement à la table des clients:

<html>
<body>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"

sql="INSERT INTO customers (customerID,companyname,"
sql=sql & "contactname,address,city,postalcode,country)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("custid") & "',"
sql=sql & "'" & Request.Form("compname") & "',"
sql=sql & "'" & Request.Form("contname") & "',"
sql=sql & "'" & Request.Form("address") & "',"
sql=sql & "'" & Request.Form("city") & "',"
sql=sql & "'" & Request.Form("postcode") & "',"
sql=sql & "'" & Request.Form("country") & "')"

on error resume next
conn.Execute sql,recaffected
if err<>0 then
  Response.Write("No update permissions!")
else
  Response.Write("<h3>" & recaffected & " record added</h3>")
end if
conn.close
%>

</body>
</html>

Important

Si vous utilisez la commande SQL INSERT être au courant des éléments suivants:

  • Si la table contient une clé primaire, assurez-vous d'ajouter une valeur unique, non nul sur le champ de clé primaire (sinon, le fournisseur ne peut pas joindre le dossier, ou une erreur se produit)
  • Si la table contient un champ NuméroAuto, ne comprennent pas ce champ dans la commande SQL INSERT (la valeur de ce champ sera pris en charge automatiquement par le fournisseur)

Qu'en est-champs sans données?

Dans une base de données MS Access, vous pouvez entrer des chaînes de longueur nulle ("") dans le texte, le lien hypertexte et champs Mémo Si vous définissez la propriété AllowZeroLength sur Oui.

Note: Toutes les bases de données prennent en charge les chaînes de longueur nulle et peut provoquer une erreur lors d' un enregistrement avec des champs vides est ajouté. Il est important de vérifier les types de données de votre base de données prend en charge.