主题:  标准表达式中数据类型不匹配。

我是陀大的恐龙

职务:普通成员
等级:1
金币:0.0
发贴:25
注册:2003/9/20 23:34:14
#12003/9/25 21:21:32
代码如下:
     <%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq=e:\dtasp\data\news.mdb"

dim name,QQ,message
name=request("name")
QQ=request("QQ")
message=request("message")
exec="insert into guestbook(name,QQ,message)values('"+name+"','"+QQ+"','"+message+"')"
conn.execute exec
conn.close
set conn=nothing
%>
  在浏览器中报错如下:
  错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
/guestbook/getpost.asp, 第 18 行
第18行就是:conn.execute exec
请问一下错在哪?



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#22003/9/25 22:00:49
数值型外面不要有单引号的,这个问题问了多少次了



我是陀大的恐龙

职务:普通成员
等级:1
金币:0.0
发贴:25
注册:2003/9/20 23:34:14
#32003/9/25 22:17:37
我把'"+QQ+"'改成"+QQ+"后,还是报错,只有这一项是数值型的;是不是哪还有错?



我是陀大的恐龙

职务:普通成员
等级:1
金币:0.0
发贴:25
注册:2003/9/20 23:34:14
#42003/9/26 13:57:38
我发现有一个奇怪的问题:我什么都没改,就按原来的代码运行,有时候又能返回正确的结果,有时又不行?我什么都没改啊,~~晕~~我头都大了,



我有BLOG了

职务:普通成员
等级:4
金币:16.8
发贴:2209
注册:2003/1/22 2:08:39
#52003/9/26 18:05:47
为什么后面跟的数据是一个双引,一个单引啊,我从学ASP就没搞明白啊!



我有BLOG了

职务:普通成员
等级:4
金币:16.8
发贴:2209
注册:2003/1/22 2:08:39
#62003/9/26 18:07:40
conn.open "driver={microsoft access driver (*.mdb)};dbq=e:\dtasp\data\news.mdb"

感觉你这句错了,是不是连接的时候少了一个&??????????



我是陀大的恐龙

职务:普通成员
等级:1
金币:0.0
发贴:25
注册:2003/9/20 23:34:14
#72003/9/27 0:15:32
不是那里的事,我用的是绝对路径。你说的&是指在上传到服务器时就要用到,就象这样 dbq="&server.mappath("news.m一db")
 为什么要用一个双引号,一个单引号 书上的解释是("insert into guestbook(name,tel,message)values('"是第一段,在ASP里面不能嵌双引号,所以可以用'代替双引号,放在双引号里面,连接两个变量用+或者&所以"',"又是一段,中间夹了一个name就是表单传来的变量,这样就可以在这个变量外面加两个'',表示是字符串了,后面的tel是数字型变量所以不需要外面包围'')