asp+ACCESS无法添加新记录,寻求帮助

noing 2007-07-06 11:58:34
以下是CONN.asp代码
<%
dim conn
dim connstr
dim db
db="../db/2.mdb" '数据库文件位置
on error resume next
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
if err then
err.clear
else
conn.open connstr
end if

sub CloseConn()
conn.close
set conn=nothing
end sub

%>



以下是执行程序的代码:

<% @ language="vbscript" %>
<!--#include file="Inc/Conn.asp"-->

<%
If request.form("productitm")="" Then
Response.Write("<script language=""JavaScript"">alert(""错误:您没输入产品类型,请返回检查!!"");history.go(-1);</script>")
response.end
end if
If request.form("company")="" Then
Response.Write("<script language=""JavaScript"">alert(""错误:您没输入公司信息,请返回检查!!"");history.go(-1);</script>")
response.end
end if
If request.form("add")="" Then
Response.Write("<script language=""JavaScript"">alert(""错误:您没输入地址信息,请返回检查!!"");history.go(-1);</script>")
response.end
end if
If request.form("contactname")="" Then
Response.Write("<script language=""JavaScript"">alert(""错误:您没输入联系人,请返回检查!!"");history.go(-1);</script>")
response.end
end if
If request.form("tel")="" Then
Response.Write("<script language=""JavaScript"">alert(""错误:您没输入联系电话,请返回检查!!"");history.go(-1);</script>")
response.end
end if

dim rs,sql
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from order"
rs.open sql,conn,1,3


rs.addnew
rs("types")=server.htmlencode(Trim(request.form("types")))
rs("productitm")=server.htmlencode(Trim(request.form("productitm")))
rs("Quantity")=server.htmlencode(Trim(request.form("Quantity")))
rs("Shipmenttime")=server.htmlencode(Trim(request.form("Shipmenttime")))
rs("Payment")=server.htmlencode(Trim(request.form("Payment")))
rs("invoice")=server.htmlencode(Trim(request.form("invoice")))
rs("other")=server.htmlencode(Trim(request.form("other")))
rs("company")=server.htmlencode(Trim(request.form("company")))
rs("add")=server.htmlencode(Trim(request.form("add")))
rs("contactname")=server.htmlencode(Trim(request.form("contactname")))
rs("tel")=server.htmlencode(Trim(request.form("tel")))
rs("fax")=server.htmlencode(Trim(request.form("fax")))

rs("time")=now()

rs.update
rs.close

if err.number = 0 then
response.write "<script language=javascript>alert('成功!');</script>"
else

response.write "<script language=javascript>alert('数据库出错!');</script>"
end if


%>



现在运行后返回“数据库出错”提示!


请求帮助,搞了半天,还不知道是哪出了问题。先谢了!
...全文
332 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2007-07-07
  • 打赏
  • 举报
回复
1 on error resume next注释掉会有错误信息 。
2 order是SQL关键字。sql="select * from [order] WHERE 1=0"
3 存入数据库一般不需要htmlencode

dim rs,sql
Set rs = Server.CreateObject("ADODB.Recordset")
rs.cursorLocation = 3
sql="select * from [order] where 1=0"
rs.open sql,conn,1,3

rs.addnew
rs("types")= Trim(request.form("types"))
rs("productitm")=Trim(request.form("productitm"))
rs("Quantity")=Trim(request.form("Quantity"))
rs("Shipmenttime")=Trim(request.form("Shipmenttime"))
rs("Payment")=Trim(request.form("Payment"))
rs("invoice")=Trim(request.form("invoice"))
rs("other")=Trim(request.form("other"))
rs("company")=Trim(request.form("company"))
rs("add")=Trim(request.form("add"))
rs("contactname")=Trim(request.form("contactname"))
rs("tel")=Trim(request.form("tel"))
rs("fax")=Trim(request.form("fax"))
rs("time")=now()
rs.update
rs.close
Set rs = nothing
noing 2007-07-07
  • 打赏
  • 举报
回复
已经解决。数据库段有不允许空字符
感谢楼上的
noing 2007-07-07
  • 打赏
  • 举报
回复
还是一样的错误提示

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver]行中有错误

/com/sendorder.asp,行 48
sdoom 2007-07-07
  • 打赏
  • 举报
回复
<%
set conn=server.createobject("adodb.connection")
conn.open "driver=driver do microsoft access (*.mdb);uid=admin;pwd=;dbq="&server.mappath("files.mdb")
%>

你试下用这种方法打开数据库呢?~
sdoom 2007-07-07
  • 打赏
  • 举报
回复
dim rs,sql
Set rs = Server.CreateObject("ADODB.Recordset")
rs.cursorLocation = 3 <===各位大侠这句是什么意思? cursorlocation 是什么东东?
sql="select * from [order] where 1=0"
rs.open sql,conn,1,3
noing 2007-07-07
  • 打赏
  • 举报
回复
上传至服务器还是出错
noing 2007-07-07
  • 打赏
  • 举报
回复
感谢楼上的。

已经按楼上的修改过,还是出现问题。也把order表改名为其它的非关键字还是不行。
去掉on error resume next后,出现错误代码:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver]行中有错误

/com/sendorder.asp,行 45

第45行也就是rs.update

还是搞不懂问题出在哪。我已经把文件上传到服务器上去试试。

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧