Stire JDateChooser дата в базе данных
Я хочу сохранить дату jDateChooser в базе данных, где у меня есть столбец типа даты sql. Этот код я использую:
try{
String f_name = qq.getText();
String l_name= jTextField2.getText();
String add1 =jTextField4.getText();
String add2 =jTextField5.getText();
String add3 =jTextField6.getText();
String add4 =jComboBox1.getSelectedItem().toString();
String add= add1+","+add2+","+add3+","+add4+".";
java.util.Date dob= jDateChooser1.getDate();
String url="jdbc:sqlserver://localhost:1433;databaseName=gym2 ";
String username = "mali";
String password = "12345";
Connection con =DriverManager.getConnection(url,username,password);
Statement st = con.createStatement ();
PreparedStatement pre = con.prepareStatement ("INSERT INTO employee_reg(firstname,lastname,full_address,dateofbirth)VALUES(?,?,?,?)");
pre.setString(1,f_name);
pre.setString(2,l_name);
pre.setString(3,add);
pre.setDate(4, (Date) dob);
pre.executeUpdate();
pre.close();
con.close();
}
catch(Exception en) { }
Но это не работает.
1 ответ
Конвертируйте util.Date в sql.Date, а не в кастинг. Смотрите комментарии:
try{
String f_name = qq.getText();
String l_name= jTextField2.getText();
String add1 =jTextField4.getText();
String add2 =jTextField5.getText();
String add3 =jTextField6.getText();
String add4 =jComboBox1.getSelectedItem().toString();
String add= add1+","+add2+","+add3+","+add4+".";
//convert java.uti.Date to java.sql.Date by:
java.sql.Date dob= new java.sql.Date(jDateChooser1.getDate().getTime);
String url="jdbc:sqlserver://localhost:1433;databaseName=gym2 ";
String username = "mali";
String password = "12345";
Connection con =DriverManager.getConnection(url,username,password);
Statement st = con.createStatement ();
PreparedStatement pre = con.prepareStatement ("INSERT INTO employee_reg(firstname,lastname,full_address,dateofbirth)VALUES(?,?,?,?)");
pre.setString(1,f_name);
pre.setString(2,l_name);
pre.setString(3,add);
//no need to cast
pre.setDate(4, dob);
pre.executeUpdate();
pre.close();
con.close();
}
catch(Exception en) {}