一段简单的ASP程序,我找不出错误

来源:百度知道 编辑:UC知道 时间:2024/09/25 23:20:58
<% set conn=server.CreateObject("adodb.connection")
conn.open"access"
exec="select*from telbook where 编号='"&request.Form("id")&"'"
set rs=server.CreateObject("adodb.recordset")
rs.open exec,conn,1,3
rs("编号")=request.Form("id")
rs("姓名")=request.Form("name")
rs("电话")=request.Form("tel")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

提示:
rs.open exec,conn,1,3
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配

两个问题
1.要先判断一下request.Form("id")是不是有值
2.错误提示显示,这个编号应该是数值型,不能加'号
if request.Form("id")<>"" then
exec="select*from telbook where 编号=" & request.Form("id")
...

如果数据类型始终是数字的,在数据库设计的时候数据类型就要设为数字,不要设为文本!

rs.open sql,conn,1,3 换成 rs.open sql,conn,1,1。(注:语句里逗号都是英文状态下的)

ID是不是自动编号的???

如果是那你为什么还改ID???

如果不是那就是上面朋友的答案。

exec="select*from telbook where 编号="&request.Form("id")