افزودن جمعه‌بندی ADO

ما می‌توانیم از دستور INSERT INTO SQL برای اضافه کردن رکوردها به جدول‌های پایگاه داده استفاده کنیم.

ثبت رکورد در جدول

آپ کوشش می‌کنیم تا یک رکورد جدید به جدول Customers پایگاه داده Northwind اضافه کنیم. ابتدا باید یک فرم ایجاد کنیم که شامل حوزه‌هایی است که از آن‌ها داده‌های مورد نیاز ما را جمع‌آوری می‌کنیم:

<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=" نئی اضافہ کریں "> 
<input type="reset" value=" منسوخ کریں ">
</form>
</body>
</html>

جب یوزر کا مفروض دمنگار پر کلک کیا جائے تو اس فورم کو نام 'demo_add.asp' کی فائل میں ارسال کیا جائے گا. فائل 'demo_add.asp' میں 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("برائی اپڈیٹ نمٹار نہیں!")
else 
  Response.Write("<h3>" & recaffected & " ریکارڈ اضافہ کیا گیا</h3>")
end if
conn.close
%>
</body>
</html>

مatters

هنگام استفاده از دستور INSERT command، توجه به موارد زیر داشته باشید:

  • اگر یک کلید اصلی در جدول وجود دارد، مطمئن شوید که ارزش‌هایی که به فیلد کلید اصلی اضافه می‌کنید منحصر به فرد و خالی نیستند (در غیر این صورت، provider این جمعه‌بندی را اضافه نمی‌کند و یا خطایی رخ می‌دهد).
  • اگر یک فیلد شماره‌گذاری خودکار در جدول وجود دارد، لطفاً از این فیلد در دستور INSERT استفاده نکنید (این فیلد توسط provider مدیریت می‌شود).

درباره فیلدهای بدون داده

در پایگاه داده MS Access، اگر شما ویژگی AllowZeroLength را به "بله" تنظیم کنید، می‌توانید رشته‌های طول صفر ("") را در فیلدهای متن، پیوند فراموشی و فیلد یادداشت وارد کنید.

نکته:همه پایگاه‌های داده ممکن نیست که رشته‌های طول صفر را پشتیبانی کنند، بنابراین ممکن است خطایی رخ دهد وقتی که به جمعه‌بندی‌هایی با فیلدهای خالی اضافه می‌کنید. بنابراین، بررسی نوع داده‌هایی که پایگاه داده شما پشتیبانی می‌کند بسیار مهم است.