jsp,搜索数据库

时间:2015-01-11 11:22:42

标签: jsp search

我的代码有问题。它将要搜索数据库,并查看结果。我的问题是代码“工作”直到我尝试搜索不存在的东西时。然后,即使我搜索数据库中存在的东西(音乐专辑,例如coldplay),它也没有显示任何结果......一切都有效,直到那个时候。您能否请一看这段代码,看看是否可以采取任何措施使其更好地运作? 谢谢你的时间!

<%!
ResultSet rs;
String var="no query";
int test=-1;
String msg="";
String change1(String temp){
    String value="";
     for(int i=0; i<temp.length();i++)
     {
       if(temp.charAt(i)=='/')
          value=value + ')';
       else if(temp.charAt(i)=='.') 
          value=value+"%";
       else if(temp.charAt(i)=='m') 
        {
          int j=i;
          j++;
          if(temp.charAt(j)=='p')
          {
            j++;
            if(temp.charAt(j)=='3')
            {
              i=j;
              value=value+"|";               
            }                            
          }
          if(j==i+1 || j==i+2)
          {
            char c = temp.charAt(i);
            int k = (int) c;
            c=(char)++k;
            value=value+c;
          }

        }
       else
         {
           char c = temp.charAt(i);
           int j = (int) c;
           c=(char)++j;
           value=value+c;
         }                                                                    
     }
     return value;     
}
String changeToValid(String temp)
  {
     String value="";
     for(int i=0; i<temp.length();i++)
     {
       if(temp.charAt(i)=='.')
          value=value + "&";
       else
          value=value+temp.charAt(i);                                                           
     }
     return value;
  }
  String validate(String temp)
  {
     String value="";
     for(int i=0; i<temp.length();i++)
     {
       if(temp.charAt(i)==' ')
         {
           int j=i;
           if(temp.charAt(++j)==' ')
               break;
           else
            value=value+' ';   
         }
       else
          value=value+temp.charAt(i);                                                           
     }
     return value;
  }

%>
<%
 if(request.getParameter("query")!=null)
   {
     var=validate(request.getParameter("query").toLowerCase());       
   }
 try{
                  rs=DataConnection.getReordData("SELECT * FROM music_info WHERE MATCH(title,album,artist,body) AGAINST('"+var+"' IN BOOLEAN MODE)"); 
                  if(!rs.next())
                  {
                      test=0;
                      msg="No result Found";
                  }

    }catch(Exception e){out.println(e);}

%>

0 个答案:

没有答案