静静在线等:郁闷一个下午的 select语句

SysPlus 2004-11-21 02:12:20
dim types
types=request.QueryString("typ")
/*typ来自另一个xx。asp:<a href="classify.asp?typ=文学书籍"></a>*/
....
rs.open"select * from books where remaincount<>0 and typ='"&types&"' order by book_id DESC",cn,3
/*其中books为表remaincount,types,book_id为其中的列*/
当加入typ='"&types&"'后就出问题

...全文
327 点赞 收藏 28
写回复
28 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhangdatou 2004-11-22
看着我都郁闷!
回复
wwg_yuyin 2004-11-22
问题解决了 我就不纳了闷了
为什么 “typ改成types试试!”(宇子) 就可以了呢?
我臆测:typ是我定义的一个变量,用来存放request.QueryString("typ")传来的值,叫types或是其他的怎么就不可以呢?其原由如何啊!(术语有问题敬请勘正。)
请指教。
-----------------------------------
typ是你自己定义的变量,而types则是你数据表的里字段名,在sql语句里,象:select * from books where remaincount<>0 and typ='"&types&"' order by book_id DESC,中的typ应是字段名,而其中的types则应是变量,把这句话改成:select * from books where remaincount<>0 and types='"&types&"' order by book_id DESC,虽然里面有两个types,但两个是不一样的,前一个是数据库里的固定的字段名,而后者则是你通过dim types
types=request.QueryString("typ")得来的变量
回复
gxh973121 2004-11-22
写法很简单,自己找一下,另不推荐这样写 ,安全漏洞
回复
lwlmaomao 2004-11-22
用response.write把sql打印出来,然后再到查询分析器运行试试。
回复
iscandy 2004-11-22

根本没有什么大问题。

rs.open 之前 加一个 response.write sql ,然后拿到 数据库管理器中执行看看

回复
zhuangjunx 2004-11-22
up
回复
91jk 2004-11-22
dim types
types=request.QueryString("typ")

你已经把值赋给TYPES了
回复
SysPlus 2004-11-22
问题解决了 我就不纳了闷了
为什么 “typ改成types试试!”(宇子) 就可以了呢?
我臆测:typ是我定义的一个变量,用来存放request.QueryString("typ")传来的值,叫types或是其他的怎么就不可以呢?其原由如何啊!(术语有问题敬请勘正。)
请指教。
回复
fhsoft8508539 2004-11-21
先用个固定数值去测试,然后再用变量
回复
poron9 2004-11-21
同意楼上的。
回复
wwg_yuyin 2004-11-21
重复一次,你表里的字段是:remaincount,types,book_id,没有typ!,所以把rs.open"select * from books where remaincount<>0 and typ='" & types & "' order by book_id DESC",cn,1,1
中的typ改成types试试!
回复
wwg_yuyin 2004-11-21
第20行:rs.open"select * from books where remaincount<>0 and typ='" & types & "' order by book_id DESC",cn,1,1
加上 typ='" & types & "' 就出问题!!

----------------------------------------------------
注意到:typ='"&types&"'这里没有,你表里根本没有typ,当然会出错了,你确定你把typ改成types了吗??
回复
datamoon 2004-11-21
做个判断看types 是否有值。 (typ='"&types&"')加个括号试试

RESPONSE.WRITE * 打印检查。
回复
SysPlus 2004-11-21
回复人: timdy() ( ) 信誉:100
rs.open"select * from books where remaincount<>0 and types='"&types&"' order by book_id DESC",cn,3,1
大哥用你的代码过了!!!!!!!但是我的
rs.open"select * from books where remaincount<>0 and typ='"&types&"' order by book_id DESC",cn,3,1咋就过不去呢!一个变量叫types和typ有什么区别呢!
我用 typ=request.QueryString("typ")
--------------------------------
又出现的问题是
再加上<%= rs("book_id") %>出现了错误!!
多谢多谢
回复
ruyunluck 2004-11-21
先用RESPONSE.WRITE TYPE 检查一下
用SQL="select * from books where remaincount <>0 and types= '"&types&"' order by book_id DESC"
再用RESPONSE.WRITE SQL 检查一下
回复
xyp730000 2004-11-21
rs.open "select * from books where remaincount <>0 and types= '"&types&"' order by book_id DESC",conn,3
回复
SysPlus 2004-11-21
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
/classify.asp, 第 20 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
页:
GET /classify.asp
----------------------------
第20行:rs.open"select * from books where remaincount<>0 and typ='" & types & "' order by book_id DESC",cn,1,1
加上 typ='" & types & "' 就出问题!!
回复
timdy 2004-11-21
rs.open"select * from books where remaincount<>0 and types='"&types&"' order by book_id DESC",cn,3,1

回复
timdy 2004-11-21
有两个错误:
1、type是数据库关键字,不能用TTOE作为列名。
2、TYPE
3、TYPE是数值型,也可能出现错误,这样表示'"&type&"'字符串型。
回复
David2008 2004-11-21
rs.open sql,conn,1,1
看是不是参数错了
回复
加载更多回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-11-21 02:12
社区公告
暂无公告