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

代码表达

TZTJ 发布于 2010-08-01 18:14, 1009 次点击
请教各位高手,以下代码表示有何错误呢?
response.redirect "subjectresultdisplay.asp?userid='"&userid& "'
&testid="&testid&""
转到下一页面的代码是这样
<%
sql="select * from examscore where userid='"&request("userid")&"' and testid="&request("testid")&""
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
rs.movelast
%>
.......
15 回复
#2
魏兴耀2010-08-01 18:58
  哪里报错呢?
#3
wangjy5002010-08-01 21:02
response.redirect "subjectresultdisplay.asp?userid='"&userid& "'
&testid="&testid&""
这里有错误!
改成:
response.redirect "subjectresultdisplay.asp?userid='"&userid& "'
&testid="&testid
#4
wangjy5002010-08-01 21:03
<%
sql="select * from examscore where userid='"&request("userid")&"' and testid="&request("testid")&""
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
rs.movelast
%>
这里改成这样:
<%
sql="select * from examscore where userid="&request("userid")&" and testid="&request("testid")
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
rs.movelast
%>
#5
TZTJ2010-08-01 23:18
我已经试过,sql="select * from examscore where userid='"&request("userid")&"' and testid="&request("testid")&""

sql="select * from examscore where userid="&request("userid")&" and testid="&request("testid")
是一样的,都能成功运行.
根据我测试,问题应该在response.redirect "subjectresultdisplay.asp?userid='"&userid& "'&testid="&testid&"",但我查不出.
#6
hams2010-08-02 09:19
response.redirect "subjectresultdisplay.asp?userid='"&userid& "'&testid="&testid&""

你先显示一下 "subjectresultdisplay.asp?userid='"&userid& "'&testid="&testid&""的值就会发现问题。
假设userid=123,testid=321

结果会是subjectresultdisplay.asp?userid='123'&testid321'

前一个问题要注意变量或字段类型。


修改,以上结果写少了一个等号,以下更正:

结果会是subjectresultdisplay.asp?userid='123'&testid=321'

[ 本帖最后由 hams 于 2010-8-3 08:32 编辑 ]
#7
TZTJ2010-08-02 11:37
多谢指点!我直接删去?userid='"&userid& "'&testid="&testid&""
而修改sql="select * from examscore where userid='123456' and testid=123789"
运行成功!
但改response.redirect "subjectresultdisplay.asp?userid='123456'
&testid=123789"不行,不知是什么原因呢?

#8
wangjy5002010-08-02 18:35
response.redirect "subjectresultdisplay.asp?userid='123456'
&testid=123789"
改成:
response.redirect "subjectresultdisplay.asp?userid=123456
&testid=123789"
#9
wangjy5002010-08-02 18:35
引号不要了。
#10
TZTJ2010-08-03 08:11
userid是字段型,不用引号怎么行呢?但我已经解决了.
reponse.cookies("userid")=userid
reponse.cookies("testid")=testid
response.redirect "subjectresultdisplay.asp"
但我不明白,为什么用response.redirect "subjectresultdisplay.asp?userid='"&userid& "'&testid="&testid&""
这样来传递变量不行呢?
#11
hams2010-08-03 08:33
6楼给你写的提示你还是没看明白
你这个的问题在于引号的使用,必须是两两对应,你那么写不出错才怪。
#12
TZTJ2010-08-03 10:13
不以为用数字表示就是数字型,在编程中字段匹配非常讲究的,
userid=123654与userid='123456'是完全不同的,如果userid是表示字符型,你用userid=123456表示那是完全错误的.在我上面的问题中已经说明,testid是表示数字型号,userid表示字符型.问题的关键是如何把testid与userid两个变量值传到下一页.

[ 本帖最后由 TZTJ 于 2010-8-3 10:21 编辑 ]
#13
hams2010-08-03 12:12
楼主不要死脑筋,先算算你的这句(response.redirect "subjectresultdisplay.asp?userid='"&userid& "'&testid="&testid&""
)有几个引号

初级错误都没解决别的不要说了
#14
TZTJ2010-08-03 15:25
按你说的这段代码也是错的吗?
sql="select * from examscore where userid='"&request("userid")&"' and testid="&request("testid")&""
但经过我检验它是正确的.其实它与response.redirect "subjectresultdisplay.asp?userid='"&userid& "'&testid="&testid&""  没有多大差别


#15
aina2010-08-04 23:19
看了以上的回答,相信楼主已经有答案了吧
#16
TZTJ2010-08-05 08:08
感谢各位的关照!已经找到问题根源了!通过这个问题的讨论,我学到不少东西.
1