注册 登录
编程论坛 ASP技术论坛

传值这么写为什么报错?

awke002 发布于 2008-08-29 15:43, 767 次点击
俩页面 A.asp和B.asp


A.asp

中的一条链接语句如下,传了俩值:id 和 mm
<a class=b2 href="B.asp?id=<%=rs_move("id")%>&mm=<%=rs_move("name")%> " title="<%=rs_move("name")%>"  target="_blank" class="tag_title_link"><span class="STYLE10"><%=rs_move("name")%></a>

B.asp

 这个页面 根据传过来的俩值充当条件来提取数据库中相对应的记录:
<%  dim id
id=request.QueryString("ID")

mm=request.QueryString("mm")
m=trim(mm)
%>
<%
dim rs2 ,sql2
set rs2=server.CreateObject("adodb.recordset")
sql2 ="select * from shangjia_info where shangjia_id = "&id
rs2.open sql2,conn,1,1
%>
<%
dim rs0,sql0
set rs0=server.CreateObject("adodb.recordset")
sql0="select photo_url from photoshop where merchant_name = "&m
rs0.open sql0 ,conn,1,1
%>

就报出了下面的错误:

Script error detected at line 30.
Source line: rs0.open sql0 ,conn,1,1
Description: 列名 '美谊佳建材装饰有限公司' 无效。

我起初认为是因为“=”的原因,所以我改用了“like” 但是却报下边的错误:
Script error detected at line 30.
Source line: rs0.open sql0 ,conn,1,1
Description: 第 1 行: 'like美谊佳建材装饰有限公司' 附近有语法错误。

能否帮我看一下嘛?
我觉得应该是就是这条语句出了问题:sql0="select photo_url from photoshop where merchant_name = "&mm
但是我不知道怎么解决,请高手为我解答,谢谢!

[[it] 本帖最后由 awke002 于 2008-8-29 16:12 编辑 [/it]]
4 回复
#2
永夜的极光2008-08-29 16:37
sql0="select photo_url from photoshop where merchant_name = " & "'" & m & "'"

试试看
#3
awke0022008-08-29 17:11
回复 2# 永夜的极光 的帖子
这是B.asp 地址栏里显示的:
http://localhost:8086/metro_end.asp?id=42&mm=美谊佳建材装饰有限公司

没有报错 但是也不能根据传过来的这个mm值来判断所符合的记录
sql0="select photo_url from photoshop where merchant_name = " & "'" & mmm & "'"
好像这条语句没有用啊。。。

[[it] 本帖最后由 awke002 于 2008-8-29 17:14 编辑 [/it]]
#4
xiongjl95552008-08-30 23:13
可能是mm类型不对
sql0="select photo_url from photoshop where merchant_name = "&mm
这句中,如果 mm是数字型的就是正确的,但如果是文本或日期型的就肯定错了,检验的方法就是response.write vartype(mm),看返回值,如果是7就是日期型的,如果是8就是字符串,后附一张表如下:
常数 值 描述
vbEmpty 0 Empty(未初始化)
vbNull 1 Null(无有效数据)
vbInteger 2 整数
vbLong 3 长整数
vbSingle 4 单精度浮点数
vbDouble 5 双精度浮点数
vbCurrency 6 货币
vbDate 7 日期
vbString 8 字符串
vbObject 9 Automation 对象
vbError 10 错误
vbBoolean 11 Boolean
vbVariant 12 Variant(只和变量数组一起使用)
vbDataObject 13 数据访问对象
vbByte 17 字节
vbArray 8192 数组
#5
gdk20062008-08-31 10:20
类型不对,看看你的SQL语句!如果是SQL sever的,在查询器中看看就知道了!
1