回 帖 发 新 帖 刷新版面

主题:请教~一个简单的关于查询数据库的问题~

我开始写的是
exec="select * from userlist where userid="&userid&" or username='"&username&"' or usersex='"&usersex&"'"
可是页面查询的时候 只有输入userid能正常显示出搜索的内容 按username和usersex搜索都是错误页面:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
/asp/search.asp, 第 21 行


浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 

网页:
POST 27 ??? /asp/search.asp

POST Data:
userid1=&name1=&sex1=%C5%AE 

后来我把查询语句改成按条件查询:

exec="select * from userlist where "
if(userid<>"") then
exec=exec&"userid="&userid&" or username='"&username&"' or usersex='"&usersex&"' "
response.Write(userid)
elseif(userid="" & username<>"") then
exec=exec&"username='"&username&"'"
response.Write(username)
elseif(userid="" & usersex<>"") then
exec=exec&"usersex='"&usersex&"'"
response.Write(usersex)
else
response.Write("请输入关键字")
end if

前俩种都正常了 可是按usersex查询 什么也查不出 但是不报错了

希望高手指点下 谢谢了~!

回复列表 (共7个回复)

沙发

打开数据库,看你的库中性别是 "男\女"还是"0\1"还是"m\f"与你输入的是否一致,是否需要变换一下

板凳

exec="select * from userlist where userid="&userid&" or [username]='"&username&"' or usersex='"&usersex&"'"
这样试试

3 楼

[quote]打开数据库,看你的库中性别是 "男\女"还是"0\1"还是"m\f"与你输入的是否一致,是否需要变换一下[/quote]

都是男/女

第一种方法 姓名和性别查询都出错 id查询正确

当我不写入id查询  只要姓名和性别查询 都是对的
[em10][em10]

4 楼

[quote]exec="select * from userlist where userid="&userid&" or [username]='"&username&"' or usersex='"&usersex&"'"
这样试试
[/quote]

这方法我也试过 还是错误
username这里面的几个变量名 都不属于关键字 其实也无关这个

5 楼

等待高人~~~~~55555555555

6 楼

exec="select * from userlist where "
if(userid<>"") then
exec=exec&"userid="&userid&" or username='"&username&"' or usersex='"&usersex&"' "
elseif(username<>"") then
exec=exec&"username='"&username&"'"
elseif(usersex<>"") then
exec=exec&"usersex='"&usersex&"'"
else
response.Write("请输入关键字")
end if

7 楼

把"OR" 换"AND"试试

我来回复

您尚未登录,请登录后再回复。点此登录或注册