asp里的一个sql查询问题,有分,请进!

来源:百度知道 编辑:UC知道 时间:2024/06/04 16:53:00
sql="select * from students where age>'"&input_age&"'"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,adOpenStatic,adLockReadOnly

说明:以上语句的作用是用户可以输入年龄,然后我在表里面查询那个属性列里所有年龄大于那个的学生,放在记录集rs里,可是出错,到底是为什么呢?
谢谢。

sql="select * from students where age>'"&input_age&"'" '不要单引号试试

sql="select * from students where age>'"&input_age&"'"
改成

sql="select * from students where age>"&input_age

sql="select * from students where age>'"&input_age&"'"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,adOpenStatic,adLockReadOnly

在这里需要注意几点:
1、如果你数据库里面的 age 是数值型则WHERE条件语句就需要写成 where age > " & input_age
2、在使用input_age之前还需要判断是否为空(IsEmpty),如果为空,这个sql语句就会出错的。