解决方案 »

  1.   

    断点下 
    ResultSet rs=pstmt.executeQuery();
    if(rs.next()){
    看这两行执行后,rs 结果集中有记录没,如果没有记录,那么rs.next 便为false 这样返回的resultUser 便为 User resultUser=null; 定义的null了
      

  2.   

    debug断点查值
    或者
    复制你的sql直接查询数据库看能输出结果不
      

  3.   

    从代码逻辑来看 是数据库端抛异常了
    原因:从判断逻辑来看只有异常的时候才会提示登录失败 如果用户为空就不知道干嘛了。。
    然后看数据库端的代码 只有数据库抛了异常才会有异常抛出 lz没有以自己的逻辑抛出来的异常 
    顾得出结论是数据库端逻辑抛异常了 还有lz确定这代码能编译通过?jButton2ActionPerformed这个方法里面的try 我怎么看都多了个}  在catch前面。
      

  4.   

    http://pan.baidu.com/s/1bndAJTX   朋友们 我把原代码上传了  
      

  5.   

    e.printStackTrace();
    JOptionPane.showMessageDialog(null, "登陆失败");错误信息是什么
      

  6.   

    http://pan.baidu.com/s/1bndAJTX   朋友们 我把原代码上传了   
      

  7.   

    你的login函数查询的时候有问题。
    PreparedStatement pstmt=con.prepareCall(sql);
    prepareCall是调用存储过程的,如果要使用con.prepareCall(sql);,你的sql的写法应该是String sql = "{call t_user(?)}";其中t_user是你的一个存储过程。你可以将PreparedStatement pstmt=con.prepareCall(sql);
    改成:PreparedStatement pstmt=con.prepareStatement(sql);
    或者修改你的sql语句。