从jDateChooser获取值并保存到MS sql DB

时间:2014-05-09 12:11:56

标签: java sql-server swing jdatechooser

我的对话框中有两个jDateChooser,我想保存到有这些数据类型问题的MS-SQL DB。知道如何解决这个问题!我只能在数据库中将数据类型转换为nvarchar并将值转换为从jDateChooser返回的字符串时才能执行此操作。

enter image description here

//我可以用这种方式保存,但我不使用jDateChooser;

   java.util.Date utilDate = new java.util.Date();
   java.sql.Date sqldate = new java.sql.Date(utilDate.getTime());

//我无法使用jDateChooser保存日期

    java.sql.Date sqldate = new java.sql.Date(jDateChooser3.getDate());

//只有我找到的方式

  SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

  String sd = dateFormat.format(jDateChooser3.getDate());

  obj.setStartDate(sd);

//

3 个答案:

答案 0 :(得分:5)

根据您发布的代码判断,jDateChooser3.getDate()返回java.util.Date实例,而java.sql.Date(millis)构造函数则期望日期/时间为long毫秒值。

使用此代码,它将起作用:

java.sql.Date sqldate = new java.sql.Date(jDateChooser3.getDate().getTime());

由于它来自日期选择器组件,无效输入最有可能导致null返回日期,因此您可能还需要检查:

java.util.Date d = jDateChooser3.getDate();
if (d == null) {
    System.out.println("No date specified!");
} else {
    java.sql.Date sqldate = new java.sql.Date(d.getTime());
    // Do something with sqldate
}

答案 1 :(得分:0)

右键单击jDateChooser。转到Properties和dateFormatString。设置此格式:dd-MM-yyyy。

答案 2 :(得分:-1)

      Date keyword = jDateChooserattendance.getDate();
      java.sql.Date sqldate = new java.sql.Date(keyword.getTime());