เราอาจใช้ SQL INSERT INTO คำสั่งเพื่อเพิ่มระเบียนในตารางในฐานข้อมูล
เพิ่มการบันทึกลงในตารางในฐานข้อมูล
เราต้องการที่จะเพิ่มระเบียนใหม่ในตารางลูกค้าในฐานข้อมูล 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="Add New">
<input type="reset" value="Cancel">
</form>
</body>
</html>
เมื่อผู้ใช้กดปุ่มส่งแบบฟอร์มถูกส่งไปยังไฟล์ที่เรียกว่า "demo_add.asp" "demo_add.asp" แฟ้มประกอบด้วยรหัสที่จะเพิ่มระเบียนใหม่ลงในตารางลูกค้า:
<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>
สำคัญ
ถ้าคุณใช้คำสั่ง SQL INSERT จะตระหนักถึงต่อไปนี้:
- ถ้าตารางมีคีย์หลักให้แน่ใจว่าจะผนวกที่ไม่ซ้ำกันค่าที่ไม่ใช่ Null ไปยังเขตข้อมูลคีย์หลัก (ถ้าไม่ได้เป็นผู้ให้บริการอาจจะไม่ต่อท้ายบันทึกหรือข้อผิดพลาดเกิดขึ้น)
- ถ้าตารางมี AutoNumber ฟิลด์ไม่รวมด้านนี้ในคำสั่ง SQL INSERT (มูลค่าของข้อมูลนี้จะได้รับการดูแลโดยอัตโนมัติโดยผู้ให้บริการ)
สิ่งที่เกี่ยวกับเขตข้อมูลที่มีข้อมูลไม่?
ในฐานข้อมูล MS Access คุณสามารถป้อนสายความยาวเป็นศูนย์ ("") ในข้อความเชื่อมโยงหลายมิติและเขตข้อมูล Memo ถ้าคุณตั้งค่า AllowZeroLength คุณสมบัติการใช่
Note: ฐานข้อมูลทั้งหมดไม่สนับสนุนสตริงความยาวเป็นศูนย์และอาจทำให้เกิดข้อผิดพลาดเมื่อมีการบันทึกที่มีเขตข้อมูลว่างเปล่าจะถูกเพิ่ม มันเป็นสิ่งสำคัญที่จะตรวจสอบสิ่งที่ชนิดข้อมูลสนับสนุนฐานข้อมูลของคุณ