MySQL登录框中的空指针异常

时间:2015-04-03 18:57:17

标签: java mysql swing

我在Java MySQL登录界面遇到问题。我成功连接我的MySQL。 但是当我输入我的登录名和密码时,它会抛出nullpointerExpception错误。 在这里,我将添加MySQL java代码和登录的Jframe代码

Connection conn=null;
public static Connection dbconnector()
{

try{
    Class.forName("org.sqlite.JDBC");
    Connection conn=DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Jani_na\\Desktop\\login.sqlite");
    JOptionPane.showMessageDialog(null,"succesful");
    return null;    
}

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

这里是登录Jframe代码

Connection connection=null;
/**
 * Create the application.
 */
public login() {
    initialize();
    connection=JDBC.dbconnector();
}

    btnMessage.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {

            try{
                String Query="SELECT username,password "
                        + "FROM login "
                        + "WHERE text username = ? "
                        + "AND text password = ?";
                PreparedStatement pst=connection.prepareStatement(Query);
                pst.setString(1,textField.getText() );
                pst.setString(2,passwordField.getText() );

                ResultSet rs = pst.executeQuery();

                int count=0;
                while(rs.next())
                {
                    count=+1;
                }
                if(count ==1)
                {
                    JOptionPane.showMessageDialog(null,"Correct");
                }
                else if (count>1)
                {
                    JOptionPane.showMessageDialog(null,"duplicate");
                }
                else
                {
                    JOptionPane.showMessageDialog(null,"Wrong password or username!!\n try again !! ");
                }

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



            }

1 个答案:

答案 0 :(得分:1)

更改返回null以返回连接。

Connection conn=null;
try {
    Class.forName("org.sqlite.JDBC");
    Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Jani_na\\Desktop\\login.sqlite"); 
    JOptionPane.showMessageDialog(null,"succesful"); 
    return conn; 
} catch(Exception e) {
    JOptionPane.showMessageDialog(null, e); 
    return null; 
}