asp 用的是 access数据库,如果字段有一个为空,那查询就出错怎么办?高手指点指点哦~

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:45:20
模糊查询,我希望达到这个功能:表单留空不输入,那么输出结果是所有的。

但现在有个问题,表里面如果beizhu这个字段有空的,那么这一项就不显示出来了。这样就有问题了,因为很多sn后面的备注是空的。
如果让它全部显示呢?

我用的是下面代码:
<%
exec="select * from guestsn where beizhu like '%"&Request("beizhu")&"%' and sn like '%"&Request("sn")&"%'
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<%do while not rs.eof%>
<td><%=rs("sn")%></td>
<td><%=rs("beizhu")%></td>
<%
rs.movenext
loop
%>
按照 jinglie 的回答,那么只要有一个符合条件的都会搜出来了。

可以用选择语句来检查是否该字段为空,然后在调用相应的sql语句。
比如
有字段 id beizhu sn

if request("beizhu")="" then
sql=
elseif request("sn")="" then
sql=

......
end if

没砍懂也!!

<%
exec="select * from guestsn where beizhu like '%"&Request("beizhu")&"%' and sn like '%"&Request("sn")&"%'
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<%
if rs.EOF and rs.BOF then
response.write ("暂时没有记录")
else
%>
<%do while not rs.eof%>
<td><%=rs("sn")%></td>
<td><%=rs("beizhu")%></td>
<%
rs.movenext
loop
%>

<%
end if
%>