У меня есть JDateChooser в моей форме. и мне нужно вставить его значение Date в DB. Я использовал этот метод, только после того, как «общественного класса внеклассного проходит javax.swing.JInternalFrame {»,Как вставить в значение выбора JDate в db
и метод я использовал упомянуто ниже,
public static java.sql.Date convertUtilDateToSqlDate(java.util.Date date){
if(date != null) {
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
return sqlDate;
}
JOptionPane.showMessageDialog(null, "No Dates are Specified!");
return null;
}
и В actionPerformed случае моей кнопки Добавить в я использовал
Connection c=DBconnect.connect();
Statement s = (Statement) c.createStatement();
PreparedStatement statement = c.prepareStatement("INSERT into nonacademic (empId, name, Dob, JoinedDate) VALUES (?,?,?,?)");
statement.setString(1,txtEmpId.getText());
statement.setString(2, txtNmae.getText());
statement.setDate(3,convertUtilDateToSqlDate((Date) jDateChooserDOB.getDate()));
statement.setDate(4, convertUtilDateToSqlDate((Date) jDateChooserDateOfJoined.getDate()));
statement.executeUpdate();
Проблемы Это дает эту ошибку, java.lang.ClassCastException: java.util.Date не может быть приведен к java.sql.Date
Когда я искать решение этого, я обнаружил, что это Ошибка выполнения происходит из-за родительского класса. Экземпляр переходит в дочерний класс. Так что вы можете дать мне предложение исправить этот код.
Примечание: После того, как вы сделали код в коде, когда я выбираю дату в JDateChooser Появляется как это 2015-08-06, Перед тем, как писать код выше. Появляется как 6 августа 2010 года.
Вы пытались избавиться от '(Date)' в своих 'statement.setDate' вызовах – MadProgrammer
, когда я набираю statement.setDate (3, convertUtilDateToSqlDate (jDateChooserDOB.getDate())); (без (Date)), он покажет сообщение об ошибке и отобразит сообщение о том, чтобы его отличить. –
Затем 'jDateChooserDOB.getDate()', вероятно, не возвращает 'java.util.Date', на догадку ... – MadProgrammer