Ajout d'un enregistrement ADO
- Page précédente Tri ADO
- Page suivante Mise à jour ADO
Nous pouvons utiliser la commande INSERT INTO de SQL pour ajouter des enregistrements à une table de la base de données.
Ajouter un enregistrement à une table de la base de données
Nous espérons ajouter une nouvelle entrée à la table Customers de la base de données Northwind. Nous devons d'abord créer un formulaire qui contient les champs d'entrée dont nous avons besoin pour recueillir des données :
<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="Ajouter un nouveau"> <input type="reset" value="Annuler"> </form> </body> </html>
Lorsque l'utilisateur appuie sur le bouton Confirmer, ce formulaire est envoyé au fichier nommé "demo_add.asp". Le fichier "demo_add.asp" contient le code permettant d'ajouter une nouvelle entrée à la table Customers :
<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 l'instruction INSERT command, veuillez noter les points suivants :
- Si la table contient une clé principale, assurez-vous que la valeur ajoutée au champ clé principale est unique et non vide (sinon, le provider ne joindra pas cet enregistrement ou une erreur se produira).
- Si la table contient un champ de numérotation automatique, n'incluez pas ce champ dans l'instruction INSERT (la valeur de ce champ est gérée par le provider).
À propos des champs sans données
Dans la base de données MS Access, si vous définissez l'attribut AllowZeroLength sur "Oui", vous pouvez entrer des chaînes de caractères de longueur nulle ("") dans les champs de texte, les hyperliens et les champs mémo.
Remarque :Pas toutes les bases de données supportent les chaînes de caractères de longueur nulle, par conséquent, lors de l'ajout d'un enregistrement avec des champs vides, des erreurs peuvent survenir. Par conséquent, il est important de vérifier les types de données supportés par la base de données que vous utilisez.
- Page précédente Tri ADO
- Page suivante Mise à jour ADO