Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 点击按钮时出现NullPointerException[NETBEANS]_Java_Sql_Jdbc - Fatal编程技术网

Java 点击按钮时出现NullPointerException[NETBEANS]

Java 点击按钮时出现NullPointerException[NETBEANS],java,sql,jdbc,Java,Sql,Jdbc,我想为我的任务是做的系统创建一个简单的登录表单,但是当我单击按钮(即使文本字段中没有任何数据)时,它会显示“Java.lang.NullPointerException”。我已经试着检查我的代码,但我仍然不知道是哪个导致了问题。这是我的JFrame登录表单: package login; import java.sql.*; import javax.swing.*; public class LOGINN extends javax.swing.JFrame { PreparedSt

我想为我的任务是做的系统创建一个简单的登录表单,但是当我单击按钮(即使文本字段中没有任何数据)时,它会显示“Java.lang.NullPointerException”。我已经试着检查我的代码,但我仍然不知道是哪个导致了问题。这是我的JFrame登录表单:

package login;
import java.sql.*;
import javax.swing.*;

public class LOGINN extends javax.swing.JFrame {
    PreparedStatement pst = null;
    ResultSet rs = null;
    MySqlConnect m2 = new MySqlConnect();

    /** Creates new form LOGINN */
    public LOGINN() {
        initComponents();
    }


    @SuppressWarnings("unchecked")

    private void btnloginActionPerformed(java.awt.event.ActionEvent evt) {
             Connection con = m2.getConnectDB();
             String SQL="Select * from login where username=? and password=?";
      try{

          rs=pst.executeQuery(SQL);
          pst.setString(1,txtusername.getText());
          pst.setString(2, txtpassword.getText());
          rs=pst.executeQuery();

           if(rs.next()){
                JOptionPane.showMessageDialog(null, "Welcome!");
                ADMIN a=new ADMIN();
                a.setVisible(true);
          }
           else{
               JOptionPane.showMessageDialog(null, "Invalid Username or Password", "Access Denied",JOptionPane.ERROR_MESSAGE);
           }

           }
      catch(Exception e){
      JOptionPane.showMessageDialog(null, e);

      }
    }


    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new LOGINN().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JButton btnlogin;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPasswordField txtpassword;
    private javax.swing.JTextField txtusername;
    // End of variables declaration

}
下面是MySqlConnect类:

package login;
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;


public class MySqlConnect {
    public Connection getConnectDB()
        {
        Connection con ;
        try{
                Class.forName("com.mysql.jdbc.Driver");
                    con = (Connection) DriverManager.getConnection("jdbc:mysql:///login", "root","");
                    return con;
            }
         catch (Exception e){
                e.printStackTrace();
                return null;
                }


    }
}

另外,我还有一个名为ADMIN的Jframe表单,我的PhpMyAdmin SQL数据库中有数据。

两点可能会导致这种情况

1.检查数据库连接。(如果连接失败,则返回null)

2.JOptionPane.showMessageDialog(空,“欢迎!”); 提供组件对象,而不是Null

希望这可能会有所帮助