主题:  如何接收四个参数(急!在线等待)

我是小呆瓜

职务:普通成员
等级:3
金币:1.0
发贴:716
注册:2001/12/11 13:23:44
#12002/9/3 14:02:52
我是这样传递参数的process.asp?product_kind=Hardwares&type=Auto Parts & Accessories&type1=Vehicle Accessories&type2=Auto Exterior Accessories
现在我要接收SQL语句我要怎么写?这里的PRODUCT_kind、 type 、type1、 type2分别是数据库的四个字段,来存储产品类别的四个层次



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#22002/9/3 14:07:44
kind=Request.QueryString("product_kind")
type=Request.QueryString("type")
........
SELECT * FROM tbdate WHERE kind = '" & kind & "' and ........



我是小呆瓜

职务:普通成员
等级:3
金币:1.0
发贴:716
注册:2001/12/11 13:23:44
#32002/9/3 15:53:29
我照着做了,然后用RESPONSE。WRITE来显示执行情况,发现有些类别它只能获得一部分,比如这样一个路径:process.asp?product_kind=Hardwares&type=Auto Parts & Accessories&type1=Vehicle Accessories&type2=Auto Exterior Accessories
可是我接收到的路径却显示product_kind=Hardwares&type=Auto Parts type1=Vehicle Accessories type2=Auto Exterior Accessories,和号后面的内容没有了,而且有些类别刷新不过来,我已经点击另外一个类别了,它还显示上一个类别,这是怎么回事?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#42002/9/3 15:55:55
怎么会出现这样的路径?product_kind=Hardwares&type=Auto Parts type1=Vehicle Accessories type2=Auto Exterior Accessories

你这个地址是怎么生成的?



我是小呆瓜

职务:普通成员
等级:3
金币:1.0
发贴:716
注册:2001/12/11 13:23:44
#52002/9/3 16:00:48
我用response.wirte 下面是那个SELECT语句啊,我点击类别的时候他就出现那个执行情况了啊



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#62002/9/3 19:14:46
看见你传递参数中的空格了吗!这就是问题所在

应该把参数先用Server.URLEncode格式化



我是小呆瓜

职务:普通成员
等级:3
金币:1.0
发贴:716
注册:2001/12/11 13:23:44
#72002/9/4 8:31:34
怎么格式化啊,说详细点好吗



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#82002/9/4 8:56:57
比如说你的参数传递是:

detail.asp?NewsTitle=<%=rs("Title")%>

要改为:

detail.asp?NewsTitle=<%=Server.URLEncode(rs("Title"))%>



我是小呆瓜

职务:普通成员
等级:3
金币:1.0
发贴:716
注册:2001/12/11 13:23:44
#92002/9/4 13:19:37
我传递的参数是静态的,按照你给我的例子,我把它改为:process.asp?product_kind=Hardwares&type=Server.URLEncode(Auto%20Parts%20&%20Accessories)&type1=Server.URLEncode(Vehicle%20Accessories)&type2=Server.URLEncode(Auto%20Exterior%20Accessories) 可是好象还是老样子啊



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#102002/9/4 17:06:44
如果是静态的,你把参数中的空格用“+”代替试试

一般是:
name=Server.URLEncode("xiao tian")

page.asp?name=<%=name%>