ASP 提示 语句未结束 错误

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:51:48
sql="select a.UserID,a.UserTitle,a.Child,b.UserRealName from [91BBC_Team_User] as a,[91BBC_User] as b where a.userid=b.userid and a.teamid="&teamid&" and a.headid="&headid

显示这一行错误

如果我改成
sql="select a.UserID,a.UserTitle,a.Child,b.UserRealName from [91BBC_Team_User] as a,[91BBC_User] as b where a.userid=b.userid and a.teamid="&teamid&" and a.headid="+headid

就不出错

这是什么原因?
headid 和 teamid 都是数字型
最让我以疑惑的是,这两个参数之前经过的操作步骤都完全相同,但是就是headid处理的时候会有这样的意外。

只能理解成幽灵事件了~~

刚注册只有这么点分,还请包涵。

我真心求教
youmuman这类想耍帅的请让开,这里不欢迎。

这是因为用+时,因为只有相同类型的数据才能用+号,
"select a.UserID,a.UserTitle,a.Child,b.UserRealName from [91BBC_Team_User] as a,[91BBC_User] as b where a.userid=b.userid and a.teamid="&teamid&" and a.headid="
这一段是字符串的,因此变量headid被隐式转为了和这一段同类型的字符型,而字段a.headid刚好也为字符型的,所以些时不会出错。

而用&时,headid并没有被转换,而是直接以数值型放在了上一段的尾后,在合成新的字符串时相当于仍为数值型的。如果要用&,则就这样写
sql="select a.UserID,a.UserTitle,a.Child,b.UserRealName from [91BBC_Team_User] as a,[91BBC_User] as b where a.userid=b.userid and a.teamid="&teamid&" and a.headid='"&headid&"'"
带上单引号

记住是什么,别问为什么。

sql="select a.UserID,a.UserTitle,a.Child,b.UserRealName from [91BBC_Team_User] as a,[91BBC_User] as b where a.userid=b.userid and a.teamid='"&teamid&"' and a.headid='"&headid&"'"

值要用单引号括起来比如a.teamid='123abc'

按道理来说不应该啊.
在这里 & 和 + 的效果是一样的.

你仔细看看是不是有什么空格 或者回车.
把那一行的上下行回车什么的调整一下.空格退掉.<