String search_txt1=request.getParameter("search_txt");
      search_txt1=search_txt1.trim();
      String sql="select USER_ID,NETNAME,SEX,NETCALL,BRITHERDAY,POPULATION,HOME,COMEDATE,PHOTO from larchives";
      if(search_txt1!=null){
      sql=sql+" where NETNAME like '%"+search_txt1+"%'";
      sql=sql+" or SEX like '%"+search_txt1+"%'";
      sql=sql+" or NETCALL like '%"+search_txt1+"%'";
      sql=sql+" or BRITHERDAY like '%"+search_txt1+"%'";
      sql=sql+" or POPULATION like %"+search_txt1+"%";
          sql=sql+" or HOME like '%"+search_txt1+"%'";
      sql=sql+" or USER_ID like %"+search_txt1+"%";
      }
      sql=sql+" order by lar_id desc";
      ResultSet rs_lar=stmt.executeQuery(sql);在search_txt中输入“字符“
报错:”字符“附近有错。
为什么?

解决方案 »

  1.   

    system.out.println(sql)先打出来看看啊
      

  2.   

    但是在ms sql 2000的查询器里可以执行
      

  3.   

    String search_txt1=(String)request.getParameter("search_txt");
      

  4.   

    if(search_txt1!=null){
         sql=sql+" where NETNAME like '%"+search_txt1+"%'";
         sql=sql+" or SEX like '%"+search_txt1+"%'";
         sql=sql+" or NETCALL like '%"+search_txt1+"%'";
         sql=sql+" or BRITHERDAY like '%"+search_txt1+"%'";
         sql=sql+" or POPULATION like %"+search_txt1+"%";   这一句
             sql=sql+" or HOME like '%"+search_txt1+"%'";
         sql=sql+" or USER_ID like %"+search_txt1+"%";   这一句
         }
    很可能出错,所以说让你把SQL打出来看看,打出来看你自己就明白了
      

  5.   

    sql=sql+" or POPULATION like %"+search_txt1+"%";  sql=sql+" or USER_ID like %"+search_txt1+"%";这两句有问题改为
    sql=sql+" or POPULATION like '%"+search_txt1+"%'";  sql=sql+" or USER_ID like '%"+search_txt1+"%'";
      

  6.   

    sql=sql+" or USER_ID like %"+search_txt1+"%";
      

  7.   

    search_txt1 是对象,值为NULL的情况可能会报错
      

  8.   

    在search_txt中输入“字符“
    报错:”字符“附近有错。
    既然内容为'字符',那么一定为char之类的类型!
    那么
    sql=sql+" or POPULATION like %"+search_txt1+"%";  sql=sql+" or USER_ID like %"+search_txt1+"%";一定要改为
    sql=sql+" or POPULATION like '%"+search_txt1+"%'";  sql=sql+" or USER_ID like '%"+search_txt1+"%'";
    毕竟你的search_txt1传的为字符