Biz bir veritabanındaki bir tabloya kayıt eklemek için komut INTO SQL INSERT kullanabilir.
Bir Veritabanında bir tablo için bir kayıt Ekle
Biz Northwind veritabanındaki Müşteriler tablosuna yeni bir kayıt eklemek istiyorum. Biz ilk biz veri toplamak istediğiniz alanları içeren bir form oluşturmak:
<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>
Kullanıcı Gönder düğmesini bastığında formu denilen bir dosyaya gönderilen "demo_add.asp" . "demo_add.asp" dosya Müşteriler tablosuna yeni bir kayıt katacak bir kod içerir:
<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>
Önemli
SQL INSERT komutunu kullanırsanız şunlara dikkat:
- Tablo birincil anahtar içeriyorsa, (değilse, sağlayıcı kayıt eklemek olmayabilir veya bir hata oluştuğunda), birincil anahtar alanı benzersiz, boş olmayan bir değer eklemek için emin olun
- tablo, bir OtomatikSayı alanı içeriyorsa, SQL INSERT komutu bu alanı içermez (Bu alanın değeri sağlayıcısı tarafından otomatik olarak halledilir alınacaktır)
Ne hayır Data ile Fields hakkında?
MS Access veritabanı olarak, sıfır uzunluklu dizeler girebilirsiniz ("") Evet olarak AllowZeroLength özelliği ayarlamak EĞER Metin, Köprü ve Not alanlarındaki.
Note: Tüm veritabanları sıfır uzunluklu dizeler destekleyen ve boş alanları ile bir kayıt eklendiğinde hataya neden olabilir. Sizin veritabanı destekler hangi veri türlerini kontrol etmek önemlidir.