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

同时查询同一字段里不同的数据(只有一个查询条件框)

anjincheng 发布于 2008-06-19 00:47, 779 次点击
老师:
    我想在一个查询条件框中同时输入我想查询的信息后(可用逗号呀之类的隔开),在某字段符合我查询的数据(只有一个查询条件框)就可以查出来,请问老师,怎么实现?
比如有下表,表名:table
xh    fp   
01   1111
02   2222
03   1122
04   1111
05   2222
...............
查询条件框名称为:finefp

当我在查询框finefp中同时输入1111、1122(逗号呀等隔开均可)或更多的条件,在查询结果表里就会只有1111和1122的信息,请问老师,怎么修改以下程序才能实现这样的功能?

<input name="finefp" type="text" id="finefp"><input type="submit" name="Submit" value="查询">
  <%
  set rs=Server.CreateObject("ADODB.RecordSet")
  sql="select id,fp from table where fp like '%"&trim(request("finefp"))&"%'"
  rs.open sql,conn,1,1
  %>
3 回复
#2
madpbpl2008-06-19 03:07
finefp=trim(request(finefp))
if instr(finefp,",") then
str =split(finefp,",")
sql ="sql ="select id,fp from table where"
for i=0 to ubound(str)
sql =sql&" and fp like '%"&str(i)&"%'"
next
sql =sql &" order by id desc"
else
sql="select id,fp from table where fp like '%"&trim(request("finefp"))&"%'"
end if
set rs=Server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
试试这样
#3
yms1232008-06-19 10:10
<input name="finefp" type="text" id="finefp"><input type="submit" name="Submit" value="查询">
  <%
  set rs=Server.CreateObject("ADODB.RecordSet")
  sql="select id,fp from table where fp in ("&trim(request("finefp"))&")"
  rs.open sql,conn,1,1
  %>
fp如果是数字就可以按上面的方法写用in操作符
比如
select id,fp form table where fp in (111,222,333,556,666)
注意
select id,fp form table where fp in (111,222,333,556,666,)
这样写是错误的因为in语句最后一个数值后面不能有,号也就是说666后面不能有,号
#4
anjincheng2008-06-19 14:32
太感谢了老师们!
1