诱捕野兽地狱犬幼崽:这段程序有什么问题?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/27 22:04:29
<%
db="regdate.mdb"
connstr="DBQ="+server.MapPath(db)+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)}"
set conn=server.CreateObject("ADODB.Connection")
conn.open connstr
%>
<%sub saveop()'保存方式
op=request.Form("op")
id=request.Form("id")
click=request.Form("click")
if op="" or id="" or click=""then
errmsg="wrong"
call showerr(errmsg)
end if
sql="insert into [userinfo] (op,click) values('"&op&"','"&click+1&"') where id='"&id&"'"
conn.execute(sql)
end sub
%>
运行时saveop()中的sql有问题,以下是错误信息
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] SQL 语句的结束位置缺少分号 (;)。

数据类型有问题。看看你的op、click和id字段都是什么类型,要是某个字段是数字型的话,在赋值给该字段时不需要在新值左右使用 ' 符号的。

connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
少了一个分号

可能是数据类型不匹配造成的,比如op,click这两个字段如果不是字符型的话('"&op&"','"&click+1&"') 这样写就不对而应该这样("&op&","&click+1&") 你试一试吧