Ultimele tutoriale de dezvoltare web
 

ADO Adăugați Records


Putem utiliza SQL INSERT INTO comanda pentru a adăuga o înregistrare la o masă într-o bază de date.


Adăugați o înregistrare într-un tabel într-o bază de date

Dorim să adăugați un nou record la masa clienților în baza de date Northwind. Vom crea mai întâi un formular care conține câmpurile pe care dorim să colecteze date de la:

<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>

Atunci când utilizatorul apasă butonul de trimitere formularul este trimis într - un fișier numit "demo_add.asp" . "demo_add.asp" Fișierul conține codul care se va adăuga un nou record la masa clienți:

<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

Dacă utilizați comanda SQL INSERT să fie conștienți de următoarele:

  • Dacă tabelul conține o cheie primară, asigurați-vă că pentru a adăuga o valoare unică, nenulă la câmpul cheie primară (în cazul în care nu, furnizorul nu poate adăuga înregistrarea, sau apare o eroare)
  • În cazul în care masa conține un câmp de numărător, nu includ acest domeniu în comanda SQL INSERT (valoarea acestui câmp va fi avut grijă de automat de către furnizor)

Ce despre câmpurile fără alte date?

Într - o bază de date MS Access, puteți introduce șiruri de lungime zero ("") în text, Hyperlink, și câmpurile memo dacă setați proprietatea AllowZeroLength la Da.

Note: Nu toate bazele de date suporta siruri de caractere de lungime zero și poate provoca o eroare atunci când se adaugă o înregistrare cu câmpuri goale. Este important să se verifice ce tipuri de date suportă baza de date.