1
I am having problem with this exception. I have seen some tutorials here, but none of them can solve my problem. Even the answers to similar questions could not satisfy my need.
I’m making a desktop application with java and Sqlite.
I think the error is here, because it only appears at the time of logging in, however I followed the tutorial to the letter, but at the time of pressing enter the error appears:
java.lang.nullpointerexception.
Follow the code for you to analyze:
   private void entrar() {
    String sql = "SELECT * FROM logins WHERE usuario = ? and senha = ?";
    try {
        pst = conn.prepareStatement(sql);
        pst.setString(1, nomeUser.getText());
        pst.setString(2, senhaUser.getText());
        rs = pst.executeQuery();
        if(rs.next()){
             JOptionPane.showMessageDialog(null, "Login efetuado com sucesso");
        }else{
             JOptionPane.showMessageDialog(null, "Login inexistente");
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}
The complete mistake would be
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at forms.login.entrar(login.java:156)
    at forms.login.btnEntrarKeyPressed(login.java:136)
    at forms.login.access$100(login.java:21)
    at forms.login$2.keyPressed(login.java:83)
    at java.awt.Component.processKeyEvent(Component.java:6493)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2832)
    at java.awt.Component.processEvent(Component.java:6312)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4891)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
    at java.awt.Component.dispatchEventImpl(Component.java:4762)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
						
Take this Try catch Exception, run again and paste here the complete error that will leave in the terminal, please.
– Pablo Almeida
It seems to me that either Forms or login is null. You can put the rest of the code?
– Pablo Almeida
the code is a little extensive, which part in particular you would like to see?
– Aminadabe Silva
If you showed which line was wrong, it would help. But the error occurs due to a problem outside of this method, so this excerpt will not help.
– Maniero
Show line 156 of login.java
– Pablo Almeida
the 156 line is this pst = Conn.prepareStatement(sql);
– Aminadabe Silva
So Conn is null at this point.
– Pablo Almeida
How do I solve Pablo, where and how?
– Aminadabe Silva
At some point you should initialize your Conn variable. It references your database, so it is necessary to perform operations with the bank. Eg. Conn = Drivermanager.getConnection("jdbc:sqlite:test.db"); . Here has a good basis for research.
– Eduardo