![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
asp多条件查询
在index.asp的form中,有多个input来输入查询条件,查询条件有“姓名”,“地址”,“电话”,“QQ”。name属性分别为:“names”,“address”...
在index.asp的form中,有多个input来输入查询条件,查询条件有“姓名”,“地址”,“电话”,“QQ”。name属性分别为:“names”,“address”,“TEL”,“QQ”,form中各项属生通过post方式传到result.asp。
result.asp中实现查询数据库中的数据。数据库名为data.mdb,表名为info,各字段分别为names、address、TEL、QQ。已经用resqust接受到了index.asp中post来的值了。现在要实现的是查询。当index.asp中input不为空的时候,查询这些条件,条件用and连接。在result.asp中显示查询的结果。当index.asp的input输入为空的时候,则不查询此条件。
请高手帮忙写下result.asp代码。万分感谢。
<!-- #include file="conn.asp" -->
<%
names=Request.Form("names")
address=Request.Form("address")
tel=Request.Form("tel")
qq=Request.Form("qq")
%>
<div name="hxqsj" aline="center">
<table border="0" width="100%">
<tr>
<td width="8%">姓名</td>
<td width="8%">地址</td>
<td width="8%">电话</td>
<td width="8%">QQ</td>
</tr>
</table>
</div>
<%
set rs=server.CreateObject("adodb.recordset")
sql="select * from info where"
if names<>"" then
sql=sql + " names='%"&names&"%' "
end if
if address<>"" then
sql=sql + " and address='%"&address&"%' "
end if
if tel<>"" then
sql=sql + " and tel='%"&tel&"%'"
end if
if qq<>"" then
sql=sql + " and qq like '%"&qq&"%'"
end if
sql=sql + " order by id "
rs.open sql,conn,1,1
Do While Not rs.eof
%>
<div name="hxqsj" aline="center">
<table border="0" width="100%">
<tr>
<td width="8%"><%=rs("names")%></td>
<td width="8%"><%=rs("address")%></td>
<td width="8%"><%=rs("tel")%></td>
<td width="8%"><%=rs("qq")%></td>
</tr>
</table>
</div>
<%
rs.movenext
Loop
rs.close
set rs=nothing
set conn=nothing
%>
至少一个参数没有被指定值。错在哪?请指正。
假如设tel字段和QQ字段为双精度数值型数据呢? 展开
result.asp中实现查询数据库中的数据。数据库名为data.mdb,表名为info,各字段分别为names、address、TEL、QQ。已经用resqust接受到了index.asp中post来的值了。现在要实现的是查询。当index.asp中input不为空的时候,查询这些条件,条件用and连接。在result.asp中显示查询的结果。当index.asp的input输入为空的时候,则不查询此条件。
请高手帮忙写下result.asp代码。万分感谢。
<!-- #include file="conn.asp" -->
<%
names=Request.Form("names")
address=Request.Form("address")
tel=Request.Form("tel")
qq=Request.Form("qq")
%>
<div name="hxqsj" aline="center">
<table border="0" width="100%">
<tr>
<td width="8%">姓名</td>
<td width="8%">地址</td>
<td width="8%">电话</td>
<td width="8%">QQ</td>
</tr>
</table>
</div>
<%
set rs=server.CreateObject("adodb.recordset")
sql="select * from info where"
if names<>"" then
sql=sql + " names='%"&names&"%' "
end if
if address<>"" then
sql=sql + " and address='%"&address&"%' "
end if
if tel<>"" then
sql=sql + " and tel='%"&tel&"%'"
end if
if qq<>"" then
sql=sql + " and qq like '%"&qq&"%'"
end if
sql=sql + " order by id "
rs.open sql,conn,1,1
Do While Not rs.eof
%>
<div name="hxqsj" aline="center">
<table border="0" width="100%">
<tr>
<td width="8%"><%=rs("names")%></td>
<td width="8%"><%=rs("address")%></td>
<td width="8%"><%=rs("tel")%></td>
<td width="8%"><%=rs("qq")%></td>
</tr>
</table>
</div>
<%
rs.movenext
Loop
rs.close
set rs=nothing
set conn=nothing
%>
至少一个参数没有被指定值。错在哪?请指正。
假如设tel字段和QQ字段为双精度数值型数据呢? 展开
7个回答
展开全部
sql语句相连
+ 换成 &
全为空的时候 select * from 表 where 1=1
+ 换成 &
全为空的时候 select * from 表 where 1=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql=sql + " names='%"&names&"%' "
把所有 “+” 改成 “&”
把所有 “+” 改成 “&”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询