gpt4 book ai didi

使用 Java derby DB 进行 Java 登录

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:38 24 4
gpt4 key购买 nike

这是我的数据库连接类

import java.sql.*;

public class connectWithDB {


public static void DBconnection(){

Connection conn = null;

String url = "jdbc:derby://localhost:1527/";
String dbName = "MyTinyShopDB";
String driver = "org.apache.derby.jdbc.ClientDriver";
String userName = "root";
String password = "root";

try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);

//conn.close();

}

catch (Exception e)
{
e.printStackTrace();
}

}

}

这是登录按钮的代码

    private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {                                         
Connection conn = null;
PreparedStatement prestmnt = null;
ResultSet Reltset = null;


try {
String sql = "SELECT * FROM LOGINDETAILS WHERE LOGINID='"+txtFieldUserName.getText()+"'AND USERPASSWORD='"+txtFieldPassword.getText()+"'";
prestmnt=conn.prepareStatement(sql);
Reltset=prestmnt.executeQuery();

if (Reltset.next()){

AdminMainForm adminform = new AdminMainForm();
adminform.setVisible(true);
}

else
{
JOptionPane.showMessageDialog(null, "User Name or Password is Wrong");
}


} catch (SQLException ex) {
Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
}

}

程序正在运行,但是当我单击登录按钮时,netbeans 中会出现这些错误

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at mytinyshop.Login.btnLoginActionPerformed(Login.java:159)
at mytinyshop.Login.access$200(Login.java:18)
at mytinyshop.Login$3.actionPerformed(Login.java:77)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341 )
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java: 402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

以及更多错误

我已在数据库中添加了用户名和密码,它必须检查数据库,如果用户名和密码正确,它必须转到其他表单,否则它必须显示错误的密码对话框,请有人帮助我..

最佳答案

您在 btnLoginActionPerformed() 开始时将连接设置为 null

Connection conn = null;

然后你尝试在 5 行后使用它

prestmnt=conn.prepareStatement(sql);

在 null 引用上调用方法将导致 NullPointerException

关于使用 Java derby DB 进行 Java 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com