База данных не обновляет тип данных

у меня есть формочка на свинге через которую я заношу сведения о покупателях в базу данных. Но моя программа не обновляет типы данных при их изменении внутри базы.В чем может быть проблема? Для подключения к базе использую класс ConnectionManager

Непосредственно код добавления:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
    
String query ="insert into customers (name,dob,sex) values (?,?,?)"    ;
    try(Connection con = ConnectionManager.open();
        PreparedStatement pst = con.prepareStatement(query) ) {  
        
    pst.setString(1, customersName.getText()) ;
        
        
    
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    
    String date = sdf.format(dateChooser.getDate());
    pst.setString(2, date);
    
    String sex =" ";
        if(maleBtn.isSelected()){
          sex = "M";
        }
        else if (femaleBtn.isSelected()){
        sex = "F" ;
        } 
    pst.setString(3, sex);
    pst.executeUpdate();
    }
         catch (SQLException ex) {
       JOptionPane.showMessageDialog(null, ex);
         }

Моя таблица

ConnectionManagerФормочка

Ошибка


Ответы (1 шт):

Автор решения: Aziz Umarov

Вам нужно переждавать в типе записываемых данных вместо

String date = sdf.format(dateChooser.getDate());
pst.setString(2, date);

запишите

String date = sdf.format(dateChooser.getDate());
pst.setDate(2, java.sql.Date.valueOf(date));

а по хорошему

pst.setDate(2, dateChooser.getDate());

должно работать

→ Ссылка