我写了段代码总是报错,大家帮忙看看是什么问题!代码功能是从登陆页获取两个参数,uname和password,然后在数据库里查询这两个值是否存在,如果存在就跳转到成功页面,不存在就跳转到登陆页!
  <body>
   <%!
       boolean flag = false ; 
   %>
   <%
     try{
     request.setCharacterEncoding("GBK");
     String username = request.getParameter("uname");
     String userpass = request.getParameter("password");
     DataBase db = new DataBase();
     String sql = "SELECT username,userpass FROM admin WHERE  username ='"+username+"' and userpass='"+userpass+"' ";
     ResultSet rs=db.executeQuery(sql);
     
     if(rs.next()){
      flag = true ;
     }
     db.close();
     }catch(Exception e ){}
     if(flag){
  %>
    <jsp:forward page="ad_index.jsp"/>
  <%   
     }else{
  %>
     <jsp:forward page="login.htm"/>
  <%  
     }
  %>
  </body> 

解决方案 »

  1.   

    怎么看那个SQL语句中的单引号有点像中文的单引号啊?改成英文的试试
      

  2.   

    DataBase db = new DataBase(); 你的JavaBean好像是未引用进来
    <jsp:useBean id='' scope='' class=''/>检查一下看
      

  3.   

    就你的代码来看主要是两个问题,DataBase db = new DataBase(); 这个类不知道你定义了没有
    还有就是你 sql语句里面的单引号问题,不知道是你故意打的让我们知道你写了单引号,还是你的单引号写错了,错误提示说一下,这样大家能很快帮你找到错误
      

  4.   

    补充一下,那个sql语句里面我写的就是单引号,而且现在也不出现错误了,就是验证后直接执行了 <jsp:forward page="login.htm"/> 这句,跳转到登陆页了,似乎没查出来数据库里的内容,可是我用的是正确的用户名和密码,数据库里绝对有相应的内容,那么是哪里的问题呢?
    DataBase这个类我在此页面的第一行就这样导进来的<%@ page import="org.util.DataBase" %>!
      

  5.   

    你在数据库的sql执行执行窗口中把你那条sql语句执行后,看看结果集是什么,然后再判断问题出在哪里
      

  6.   

    catch(Exception e ){}  lz你在这里面加句代码:out.print(e);
    然后下面的代码先注释掉,看看是不是抛出什么异常了·····
      

  7.   

    就这个页面没有任何大问题,肯定是你DataBase类的问题,把那个类的代码贴出来吧。我看看
      

  8.   

    这是什么写法啊
    你把sql输出到控制台上看看
    System.out.println("====sql:="+sql);
      

  9.   

    把异常贴出来看看。也许是你的sql语句传过去了,但是执行的时候出错了,你在后台将查询出来的结果显示一下。
      

  10.   

    把异常贴出来,还有就是把flag打印到页面上 
    out.println("flag = " + flag);