rec.next();
String realPass=rec.getString(1);
rec.close();如果没有查到String realPass=rec.getString(1); 会发生异常改为
String realPass = ""
if(rec.next()){
   realPass=rec.getString(1);
   rec.close();
}

解决方案 »

  1.   

    if(resultset.next()){
    //表示找到了匹配的结果
     .....................
    }另外关于关闭数据库的问题 可以放在finally里面
    try{
    .........
    }
    catch(SQLException e){
    .......
    }
    finally{
    stament.close();
    conn.close();
    }
      

  2.   

    tom2005(快乐着)说的有道理.应改为:
    String realPass = ""
    if(rec.next()){
       realPass=rec.getString(1);
    }
    else{
       JOptionPane.showMessageDialog(this,"密码错误或没有此用户","信息窗口",JOptionPane.INFORMATION_MESSAGE);
    }
    rec.close();
    newConnect.c.close();
            newConnect.c.close();
      

  3.   

    newConnect.c.close();
    把这句拿到
    catch(SQLException e) 
        { 
    if(e.getMessage().equals("[Microsoft][ODBC 驱动程序管理器] 无效的游标状态"))
                JOptionPane.showMessageDialog(this,"密码错误或没有此用户","信息窗口",JOptionPane.INFORMATION_MESSAGE);
            System.err.print("数据库连接错误"+e.getMessage()); 
        } 后面来
    try {
      newConnect.c.close();
    }
    catch (SQLException e) {
    }
      

  4.   

    放到finnaly中不行 tom2005等的方法可以  谢谢大家