菜鸟学ADO实例教程之ADO 添加新记录
类别: ASP教程
我们可以使用SQL语句中的 INSERT INTO 命令向数据库表中添加新记录。
向数据表中添加一条记录,我们首先得创建一个表单来用ASP程序收集表单的数据,然后用程序把收集 的数据添加到数据库中去:
下面代码可以保存为html 格式
<html>
<body>
<form method="post" action="demo_add.asp">
<table>
<tr>
<td>客户号:</td>
<td><input name="custid"></td>
</tr><tr>
<td>公司名字:</td>
<td><input name="compname"></td>
</tr><tr>
<td>联系人:</td>
<td><input name="contname"></td>
</tr><tr>
<td>地址:</td>
<td><input name="address"></td>
</tr><tr>
<td>城市:</td>
<td><input name="city"></td>
</tr><tr>
<td>邮政编码:</td>
<td><input name="postcode"></td>
</tr><tr>
<td>国家:</td>
<td><input name="country"></td>
</tr>
</table>
<br />
<br />
<input type="submit" value="添加">
<input type="reset" value="重置">
</form>
</body>
</html>
具体的处理表单程序:保存为demo_add.asp
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "e:/webjx/webjx.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 INTO命令必须注意:
如果表中包含一个主关键字那么必须确认你追加数据是不重复、唯一的,否则会出错。
如果表中包含一个自动编号的字段,在使用追加命令时就不要追加这个字段的值了。
有时添加之后为什么在数据表中没有记录呢?
在MS Access数据库里,你能够设置0长度的text字段,超级连接和备注字段,如果你设置了零长度,那 么就有可能就会没有数据。
注: 不是所有的数据库零长度字符串,并且当记录追加时可能会出现错误提示,在我们设置数据库时检 查好数据库字段的类型和长度是必要的。
向数据表中添加一条记录,我们首先得创建一个表单来用ASP程序收集表单的数据,然后用程序把收集 的数据添加到数据库中去:
下面代码可以保存为html 格式
<html>
<body>
<form method="post" action="demo_add.asp">
<table>
<tr>
<td>客户号:</td>
<td><input name="custid"></td>
</tr><tr>
<td>公司名字:</td>
<td><input name="compname"></td>
</tr><tr>
<td>联系人:</td>
<td><input name="contname"></td>
</tr><tr>
<td>地址:</td>
<td><input name="address"></td>
</tr><tr>
<td>城市:</td>
<td><input name="city"></td>
</tr><tr>
<td>邮政编码:</td>
<td><input name="postcode"></td>
</tr><tr>
<td>国家:</td>
<td><input name="country"></td>
</tr>
</table>
<br />
<br />
<input type="submit" value="添加">
<input type="reset" value="重置">
</form>
</body>
</html>
具体的处理表单程序:保存为demo_add.asp
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "e:/webjx/webjx.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 INTO命令必须注意:
如果表中包含一个主关键字那么必须确认你追加数据是不重复、唯一的,否则会出错。
如果表中包含一个自动编号的字段,在使用追加命令时就不要追加这个字段的值了。
有时添加之后为什么在数据表中没有记录呢?
在MS Access数据库里,你能够设置0长度的text字段,超级连接和备注字段,如果你设置了零长度,那 么就有可能就会没有数据。
注: 不是所有的数据库零长度字符串,并且当记录追加时可能会出现错误提示,在我们设置数据库时检 查好数据库字段的类型和长度是必要的。
- 上一篇: 菜鸟学ADO实例教程之ADO 排序数据
- 下一篇: 菜鸟学ADO实例教程之ADO 更新记录
-= 资 源 教 程 =-
文 章 搜 索