asp 为啥语句未结束,该如何修改?

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:34:10
写的程序:
rsnew.open "select * from [表名] where 列名='"&变量&"'",conn,1,1

运行结果:
错误类型:
Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束

问题:如何修改?
错误类型:
Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束
zacl.asp, line 18, column 54
rsnew.open "select * from [vvvvvvvvvvv] where 登录帐号='"&ha&"'",conn,1,1
-----------------------------------------------------^

其实这一句是有错误的,这可能与ASP。DLL文件的版本有关,有时这样也算是可以,但大多数的情况是不行了!

我也曾说过这样的语句,发现不能运行而百思不得其解,按理说是正确的,所以我先用一个变量去代换时是完全正确的。如上句改为:
sql="select * from [tablename] where columnname='" & 变量 & "'"
rsnew.open sql,conn,1,1或者
rsnew.open(sql,conn,1,1)可能取得正确的结果。

这所以出现错误,则是解析器(ASP.dll)解析时,并不会按我们所想的那样,将逗号前的内容作一个字符串分析,而是进行了分割解析,或者这样说吧:它根本没有按照我们的预想将“selsect *from [tablename] where columnName='”作为一个字符串考虑,而非进行了将整个字符串的整合所引起的。所以根据语法的分析,正常的语句未结束的情况。

也就是说:
renew.open("select * from [tableName] where columnname=1",conn,1,1)这是正确的,而分开使用的情况是错误的。像你上边所使用的一样!

这句看不出有什么错误,
把上下文贴出来看看。

你确认是这一行错误?
==========================
把那个登录帐号换成英文~~
字段名称用中文试试

三楼理解挺深啊,听他的话吧,试试,再不行,再说