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

[求助]这样的条件表达式错在哪里?

笨笨林 发布于 2007-08-28 22:50, 485 次点击
<% dim yes
yes="yes"
set rst=server.createobject("adodb.recordset")
sql="select top 6 * from news where fl='"&s&"' and tp="&yes
rst.open sql,conn,1,1
if rst.EOF then
response.write "没有你要的内容:"
else
%>
<a href="index.asp">你要显示的内容:</a>|
<%do while NOT rst.EOF%><a href="index.asp?fl=<%=rst("fl")%>"><%=rst("fl")%></a>|<%
rst.MoveNext
loop
end if
rst.close
set rst=nothing
%>
在表中查询要同时满足字段fl与tp的记录,其中tp字段要么为空,要么为"yes"(字符型)。可是每次tp不等于"yes"记录也显示出来了。请各位帮忙解决。谢谢!
5 回复
#2
madpbpl2007-08-28 23:07
sql="select top 6 * from news where fl='"&s&"' and tp="&yes
改成
sql="select top 6 * from news where fl='"&s&"' and tp<>'yes'"
试试这样行不行

#3
天涯听雨2007-08-29 09:16
sql="select top 6 * from news where fl='"&s&"' and tp="&yes

明显红色部分出错

前面用值是字符型,这里却等是数字。怎么不错 注意参数类型。。

多看看基础的东东
#4
ayue2222007-08-29 09:17
sql="select top 6 * from news where fl='"&s&"' and tp='"&yes&"'"
#5
jamesxiaoyao2007-08-29 09:26
其实楼主自己把事情搞复杂了,象这样个字段,完全可以用0,1来区分,这样 TP=1,还不会出错。
#6
笨笨林2007-08-29 18:52

谢谢,问题解决
sql="select top 6 * from news where fl='"&s&"' and tp='"&yes&"' order by id desc"
真是奇怪,为什么这样就行???

1