zoukankan      html  css  js  c++  java
  • 关于JPasswordField的getText()方法过时问题解决

      这几天想做一个登陆界面,用Jframe做,连接数据库时发现JPasswordField的getText()过时了,没法使用。查了资料发现改成了:

     try{
                    String sql="SELECT * FROM username WHERE name=?";
    
                    conn = DB.getConnection();
                    prst = conn.prepareStatement(sql);
                    String lll= Login.getText();
                    System.out.println(lll);
                    prst.setString(1,lll);
    
                    prst.execute();
                    rs = prst.executeQuery();
                    if (rs.next()){
    
                        if( String.valueOf( regi.getPassword()).equals(rs.getString(3))){
                       
                            JOptionPane.showMessageDialog(Main, "成功", "错误",JOptionPane.WARNING_MESSAGE);
                        }else {
                            System.out.println(rs.getString(3));
                            System.out.println(regi.getPassword().toString());
                            JOptionPane.showMessageDialog(Main, "账户密码错误", "错误",JOptionPane.WARNING_MESSAGE);
                        }
                    }else{
                        JOptionPane.showMessageDialog(Main, "无此用户", "错误",JOptionPane.WARNING_MESSAGE);
                    }
                }catch (Exception e1){
                    e1.printStackTrace();
                }     finally {
                    DB.close(rs);
                    DB.close(prst);
                    DB.close(conn);
                }
            }

    • if(regi.getPassword.toString.equals(rs.getString(3)))){

    .............//数据库里面列是从1开始的所以密码是三列

    }

    会出现以下错误:

    第二个是System.out.println(regi.getPassword.toString);

    查资料发现这个toString方法是object的方法,返回的是HashCode


    改成

    • if( String.valueOf( regi.getPassword()).equals(rs.getString(3))){

    .................

    }

    就完全正确了,成功取出了密码的字符串。

    还有就是不能用==,这样比较的是内存位置是否一样。

    用.equals(),比较的是字符串是否一样。

  • 相关阅读:
    Java-使用IO流对大文件进行分割和分割后的合并
    Java-单向链表算法
    Java-二分查找算法
    Java-二叉树算法
    Java-对象比较器
    Android中Activity的四种开发模式
    Struts2工作原理
    C++实现单例模式
    数组中有一个数字出现的次数超过数组的一半,请找出这个数字
    c++ enum用法【转】
  • 原文地址:https://www.cnblogs.com/lzy321/p/9975053.html
Copyright © 2011-2022 走看看