大家帮我看看这个语句错在哪儿

ujjcel 2004-04-01 05:01:27
sql="SELECT * FROM T_Car where carid="&request("carid")

IIS向我报告如下错误:
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'carid=' 中。
...全文
11 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ujjcel 2004-04-02
谢谢楼上的各位,问题已解决,马上送分。
回复
lovewangshu 2004-04-01
像c语言一样的调试小技巧一样,我们可以用response.write来随时调试,页面取过来后先看看有没有值,这个错误肯定是没有取到值啊!
但是看了这个代码我有点其他的想法!
“如果用sql="SELECT * FROM T_Car where carid=5"就不会出错”
看看carid应该是一个序号吧!数据库中的字段是不是数值类型的呢?
不访写成sql="SELECT * FROM T_Car where carid="&cint(request("carid"))
用cint()做类型转换,变为数值型的试试啊!
而楼上小立兄弟的
sql="SELECT * FROM T_Car where carid='"&request("carid")&"'"
是把carid当作字符类型操作了啊!
不知道您的数据库是不是这样设计的
回复
Ccode 2004-04-01
'//如下写
if not request("carid")="" then
sql="SELECT * FROM T_Car where carid='"&request("carid")&"'"
else
response.write "there is no value !"
response.end
end if
回复
jonasxujun 2004-04-01
估计是Requst("carid")没取到值。在写Request的时候,最好后面写完整。

Request.Form或Request.QueryString这样程序比较清晰。。
回复
ujjcel 2004-04-01
谢谢,原来是这样。
问题一解决我就给分
回复
cxj1976 2004-04-01
request("carid")没取到值就会这样的,你可以跟踪查看一下
response.write request("carid"),看看输出时不是空的
回复
commaxsoft 2004-04-01
request("carid")没取到值,你可以跟踪一下这个参数

==================================================
在线编辑WORD,EXCEL等OFFICE文档控件的ASP源代码下载地址:
http://www.superoa.net/webofficeforasp.rar
更详细信息访问:http://www.superoa.net
标准COM接口,支持开发语言:VB,VC,C#,ASP,ASP.NET,PHP,JSP,java等
QQ:53928716
回复
pyonline 2004-04-01
你把你的SQL语句写出来

response.write(sql)
response.end

这样你就可以看到你的SQL语句的内容了,如果是复杂的SQL语句可以复制到SQL的查询分析器里面执行,这样就可以清晰地看到你的错误所在
回复
qzriso 2004-04-01
那就是request("carid")的为空了
用response.write request("carid") 测试
回复
vvfish119 2004-04-01
你确定你的request("carid")有值吗?不是空的吗??
回复
ujjcel 2004-04-01
up
回复
ujjcel 2004-04-01
如果用sql="SELECT * FROM T_Car where carid=5"就不会出错,谁能给我个答案吗?
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告