У меня проблемы с передачей данных из моего графического интерфейса в базу данных MySQL. Я собираю информацию от JTextField
s и JDateChooser
в базу данных. Все остальное работает, кроме даты. Я попробовал несколько методов, которые нашел в Интернете, и ни один из них не сработал. Я также проверил таблицу, чтобы убедиться, что тип данных «ДАТА» включен в моей таблице «информация о пациенте». Если я удалю JDateChooser, мой запрос сработает. В противном случае я получу это сообщение об ошибке:
Java.lang.NullPointerException
Я включаю свой исходный код с этим сообщением.
//Event handler adds records
//to the database
JButton subInfoBtn = new JButton("SUBMIT AND CONTINUE");
subInfoBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
//Invokes "javaconnect" class
//to link to MySQL database
conn = javaconnect.ConnecrDb();
//Invokes SQL Statement from "Connection" Object
pst = conn.createStatement();
//SQL query commands event handler to access
//"patientinfo" table, to insert data to columns.
pst.executeUpdate("INSERT into patientinfo(firstName, lastName, DOB, age, SSN, "
+ "address, phone,email, emergencycontact, emergencyphone) "
+ "VALUES" + "('"+firstTxt.getText() + "', '" + lastTxt.getText()
+ "', '" + DOBTxt.getDate() + "' ,'" + ageTxt.getText() + "', '"
+ ssnTxt.getText() + "', "+ " '" + addressTxt.getText() +"',
'"+phoneTxt.getText()+"' , '"+emailTxt.getText()+"' ,
'"+emergencyTxt.getText()+"' , '"+emergPhoneTxt.getText()+"' )");
//Closes Database Connection
conn.close();
JOptionPane.showMessageDialog(null, "Pantient Information Saved Succesfully");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
});
subInfoBtn.setFont(new Font("Tahoma", Font.BOLD, 14));
subInfoBtn.setBounds(305, 286, 220, 23);
contentPane.add(subInfoBtn);
//Also, I have tried to use SimpleDateFormat and
//((JTextField)jDateChooser1.getDateEditor().getUiComponent()).getText();
//Without any luck. I am also aware of using Prepare Statement to avoid SQL injections, but
//I would like to solve the JDateChooser bonding data dilema into MySQL database.