java - 使用 Java 数据库

标签 java database nullpointerexception connection

我正在创建一个java程序,它要求用户在获得访问权限之前提供登录详细信息。我正在使用 javaDB,它将数据存储在名为 LOGIN_DETAILS 的表中,我有一个成功的连接,但问题是每当我运行该程序时,我都会收到此错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Classes.Login.bActionPerformed(Login.java:188)

login.java:188代码是:Statement st = con.createStatement();

下面是我的完整代码;

    public void connect(){
        try{
        String host = "jdbc:derby://localhost:1527/db1";
        String uName = "";
        String uPass = "";
        con = DriverManager.getConnection(host, uName, uPass);

        }

        catch(SQLException ex){
    }

}

    try{

    Statement st = con.createStatement();
    Menu MM = new Menu();
    String user = t.getText().trim();
    String pass = t1.getText().trim();

    String sql = "SELECT USERNAME, PASSWORD FROM "
            + "APP.LOGIN_DETAILS WHERE "
            + "USERNAME ='"+user+"'PASSWORD ='"+pass+"'";
    ResultSet rs = st.executeQuery(sql);

    int count = 0;
    while(rs.next()){
        count = count + 1;
    }

    if(count ==1){
    JOptionPane.showMessageDialog(null, "User Found, Access Granted");
    this.dispose();
    MM.setVisible(true);
    }

    else if(count > 1){
    JOptionPane.showConfirmDialog(null, "Duplicate User, Access Denied");
    this.setVisible(true);
    }
    else{
    JOptionPane.showMessageDialog(null,"User not Found");
    this.setVisible(true);
    }
    }

    catch(SQLException | HeadlessException ex){
    }

请帮我解决这个问题,谢谢。

最佳答案

除非这段代码出现在其他地方,否则您在 con 上调用 createStatement() 之前似乎没有调用 connect() 方法(用于建立连接)。因此,此时 con 可能仍指向 null。如果是这样的话,就可以解释这个异常了。

关于java - 使用 Java 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20778011/

相关文章:

java - 需要检查 MaxPermSize : Unrecognized VM option

mysql - 如何编写通过外键的 SQL 查询

java - try catch可以用来做代码优化吗?

java - Null 对象引用上的 SupportMapFragment#getMapAsync()

java - 如何使用 css 选择器单击按钮

java - MultiActionController 有什么意义?

java - Intellij Idea 不断将编译器重置为 'ajc'

mysql 需要很长时间才能获取 sum()

java - 火力地堡安卓 : Display data randomly

c# - UWP 访问冲突异常