jdbcを使用してテキストフィールドからmySqlに値を挿入しようとしていますが、準備されたステートメントを閉じるときにnullポインターエラーが発生するという問題があります。これが私のコードです
private Connection con;
private Statement stm;
private ResultSet rs;
private PreparedStatement ps ;
public void dbConnect(){
try{
Class.forName("com.mysql.jdbc.Driver");
this.con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbTestDrive"
+ "", "root", "password");
}
catch(ClassNotFoundException ex){}
catch(SQLException ex){}
}
public boolean insert(Member member)throws SQLException{
this.dbConnect();
boolean success = false;
String query = "INSERT INTO try VALUES(?, ?)";
try {
this.ps = this.con.prepareStatement(query);
this.ps.setString(1, member.getMemberId());
this.ps.setString(2, member.getFirstName());
int rows = this.ps.executeUpdate();
if(rows>0){
success = true;
}
} catch (SQLException ex) {
ex.printStackTrace();
throw ex;
} finally{
this.ps.close(); // this is my line: 56 (im getting null pointer here)
this.con.close();
}
return success;
}
スタックトレースは次のとおりです。
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at rtu.tomis.dao.MemberDao.insert(MemberDao.java:56)
at rtu.tomis.gui.AddMemberView.btnSaveActionPerformed(AddMemberView.java:993)
at rtu.tomis.gui.AddMemberView.access$800(AddMemberView.java:21)
at rtu.tomis.gui.AddMemberView$9.actionPerformed(AddMemberView.java:476)
助けてくれてありがとう