| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1341 人关注过本帖
标题:各位帮我看看我的搜索功能哪里出问题了?
取消只看楼主 加入收藏
liu_libra
Rank: 2
等 级:论坛游民
帖 子:153
专家分:20
注 册:2008-10-13
结帖率:72.22%
收藏
 问题点数:0 回复次数:5 
各位帮我看看我的搜索功能哪里出问题了?
说明:共4个搜索条件,分别为class1,class2,城市和关键字
      其中class1 和class2 两者不同时为空,城市(province,city)和关键字(keywords)可以为空
代码如下,请帮我看看那里出问题了,错误提示为ADODB.Recordset (0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。(连接数据库正确)或者有没有其他的方法可行。我觉得这样太复杂了,谢谢了!
<%
 set rs2=server.CreateObject("adodb.recordset")
 
if request("class1")="" and request("class2")<>"" then
   if request("province")="" and request("keywords")="" then
   sql="select * from  ad where class2='"&request("class2")&"'"
   else
     if request("province")<>"" and request("keywords")<>"" then
     sql="select * from  ad where class2='"&request("class2")&"' and province='"&request("province")&"' and city='"&request("city")&"' and keywords like '%"&request("keywords")&"%'"
     else
       if request("province")<>"" and request("keywords")="" then
       sql="select * from  ad where class2='"&request("class2")&"' and province='"&request("province")&"' and city='"&request("city")&"'"
       else
          if request("province")="" and request("keywords")<>"" then
          sql="select * from  ad where class2='"&request("class2")&"' and keywords like '%"&request("keywords")&"%'"
          end if
       end if
     end if
    end if
 else
 if request("class1")<>"" and request("class2")="" then
   if request("province")="" and request("keywords")="" then
   sql="select * from  ad where class1='"&request("class1")&"'"
   else
     if request("province")<>"" and request("keywords")<>"" then
     sql="select * from  ad where class1='"&request("class1")&"' and province='"&request("province")&"' and city='"&request("city")&"' and keywords like '%"&request("keywords")&"%'"
     else
       if request("province")<>"" and request("keywords")="" then
       sql="select * from  ad where class1='"&request("class1")&"' and province='"&request("province")&"' and city='"&request("city")&"'"
       else
          if request("province")="" and request("keywords")<>"" then
          sql="select * from  ad where class1='"&request("class1")&"' and keywords like '%"&request("keywords")&"%'"
          end if
        end if
      end if
    end if
 else
 if request("class1")<>"" and request("class2")<>"" then
   if request("province")="" and request("keywords")="" then
   sql="select * from  ad where class2='"&request("class2")&"' and class1='"&request("class1")&"'"
   else
      if request("province")<>"" and request("keywords")<>"" then
      sql="select * from  ad where class2='"&request("class2")&"'  and class1='"&request("class1")&"' and province='"&request("province")&"' and city='"&request("city")&"' and keywords like '%"&request("keywords")&"%'"
      else
        if request("province")<>"" and request("keywords")="" then
        sql="select * from  ad where class2='"&request("class2")&"' and class1='"&request("class1")&"' and province='"&request("province")&"' and city='"&request("city")&"'"
        else
          if request("province")="" and request("keywords")<>"" then
          sql="select * from  ad where class2='"&request("class2")&"'  and class1='"&request("class1")&"' and keywords like '%"&request("keywords")&"%'"
          end if
        end if
      end if
   end if
   end if
   end if
 end if

 rs2.open str,conn,1,1
%>
搜索更多相关主题的帖子: 搜索 
2008-10-16 12:41
liu_libra
Rank: 2
等 级:论坛游民
帖 子:153
专家分:20
注 册:2008-10-13
收藏
得分:0 
谢谢各位的指点,我再试试看
2008-10-16 15:05
liu_libra
Rank: 2
等 级:论坛游民
帖 子:153
专家分:20
注 册:2008-10-13
收藏
得分:0 
我试试,谢谢6楼了!
2008-10-16 19:06
liu_libra
Rank: 2
等 级:论坛游民
帖 子:153
专家分:20
注 册:2008-10-13
收藏
得分:0 
我把搜索语句改成下面的代码了,可还是不行,错误提示仍为ADODB.Recordset (0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
弄了几天了,再次麻烦各位帮我看看吧,这次增加了一个搜索条件audit:
str="where audit='1'"
  if len(request("class1"))<>0 then
  str=str&"and class1='"&request("class1")&"'"
  end if
  if len(request("class2"))<>0 then
  str=str&"and class2='"&request("class2")&"'"
  end if
  if request("province")<>"0" then
  str=str&"and province='"&request("province")&"' and city='"&request("city")&"'"
  end if
  if len(request("keywords"))<>0 then
  str=str&"and  keywords like '%"&request("keywords")&"%'"
  end if
  set rs2=server.CreateObject("adodb.recordset")
  sql="select * from ad" &str
  rs2.open sql,conn,1,1
2008-10-17 16:43
liu_libra
Rank: 2
等 级:论坛游民
帖 子:153
专家分:20
注 册:2008-10-13
收藏
得分:0 
我的数据库连接没问题的,而且如果我把sql语句换成一个简单的语句,还是可以运行的啊,版主明示吧
2008-10-17 21:35
liu_libra
Rank: 2
等 级:论坛游民
帖 子:153
专家分:20
注 册:2008-10-13
收藏
得分:0 
很奇怪,搜索结果页面result.asp引用了一个头文件head.asp,而头文件head.asp包含了数据库连接文件conn.asp,当我将头文件中的<!--#include file="conn.asp"-->删除放到result.asp中好了,为什么会这样呢,真是不明白,快被这个问题弄疯了!
2008-10-18 01:17
快速回复:各位帮我看看我的搜索功能哪里出问题了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022321 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved