打印下你的sql语句在数据库中执行一下看看有没有结果  说不定是你获取的username及password的毛病
另外catch中捕获一下异常看看

解决方案 »

  1.   

    out.print(rsname); 
    有这种语法的吗?
      

  2.   

    2 处代码提示,请把异常或者SQL贴上来,大家看看<%
      String username = (String) request.getParameter("username");
      String password = (String) request.getParameter("password");
      Connection conn = null;
      Statement stmt = null;
      ResultSet rs = null;
      try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String path = "jdbc:odbc:name";
        String struser = "sa";
        String pwd = "";
        conn = DriverManager.getConnection(path, struser, pwd);
        stmt = conn.createStatement();
        String sql = "select username from users where username='" + username + "' and password='" + password + "'";
        System.out.println(sql); // 这里打印出SQL,看看手工查询一下是否有结果
        rs = stmt.executeQuery();
        while (rs.next()) {
          String rsname = rs.getString("username");
          String rspassword = rs.getString("passwrod");
          out.print(rsname);
        }
      } catch (Exception e) {
        e.printStackTrace(); // 为何那么多人要屏蔽掉信息呢?难道如此自信自己的代码不会出现异常?    
      }
    %>
      

  3.   

    应该是你获取username,password有问题吧
    out.print(username);
    打出来看看
      

  4.   

    补充说明一下,我把上面的SQL换成 select * from users,在执行语句后面加上out.print("username");是可以显示出来的,而且上面的接收也没问题,我在try上面加过out.print(username);是可以打印出来输入的内容的。而且在执行select * from users这个语句时,我在while中换成了if (username.equals(rs.getString("username")))然后执行一个输出语句也不行。也就是说输入的内容总是和数据库中的不一样。可我是把数据库的用户复制出来也不行。汗
      

  5.   

    也有可能是你没处理乱码,username ,password 要是中文的话,是乱码,在数据库中查不到
      

  6.   

    while(rs.next()) 

    String rsname=rs.getString("username"); 
    String rspassword=rs.getString("passwrod"); 
    out.print(rsname); 

    红色部分里的rs.getString("passwrod") 应该是rs.getString("password")吧,试试行不.
      

  7.   

    out.print(rsname); 
    out.println(rsname);
      

  8.   

    rs=stmt.executeQuery("select username from users where username='"+username+"' and password='"+password+"'"); 
    while(rs.next()) 

    String rsname=rs.getString("username"); 
    String rspassword=rs.getString("passwrod"); 
    out.print(rsname); 

    现看sql语句,你只查了一个字段。