Latest web development tutorials

ADO Ajouter un enregistrement

Nous pouvons utiliser le SQL INSERT INTO commande pour ajouter des enregistrements à une table de base de données.


Pour ajouter un enregistrement dans une table de base de données

Nous voulons ajouter un nouvel enregistrement à la table clients dans la base de données Northwind. Nous voulons d'abord créer un formulaire, le formulaire contient les données que nous voulons recueillir des champs de saisie:

<html>
<body>

<form method="post" action="demo_add.html">
<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 OK, le formulaire sera envoyé dans un fichier appelé "demo_add.asp" de. Fichier "demo_add.asp" peut contenir le code pour ajouter 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

Lorsque vous utilisez la commande commande INSERT, s'il vous plaît noter les points suivants:

  • Si la table contient une clé primaire, assurez-vous d'ajouter de la valeur à la clé primaire est unique et non vide (sinon, le fournisseur ne sera pas ajouter les enregistrements, ou qu'une erreur se produit)
  • Si la table contient un champ NuméroAuto, ne comportent pas de ce domaine dans la commande INSERT (la valeur du champ est déterminée par le fournisseur responsable)

Aucune donnée sur le terrain

Dans la base de données MS Access, si vous définissez la propriété AllowZeroLength est réglé sur "Oui", vous pouvez texte, des hyperliens et des notes champ pour entrer une chaîne de longueur nulle ( "").

Remarque: toutes les bases de données ne prennent pas en chaîne de longueur nulle, ce qui peut provoquer une erreur lorsque vous ajoutez des enregistrements avec des champs vides. Donc, vérifiez que vous utilisez une base de données pris en charge les types de données est très important.