2

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

在此处输入图像描述

// 我可以用这种方式保存但我不使用 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);

//

4

3 回答 3

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
}
于 2014-05-09T12:34:04.790 回答
0

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

于 2015-05-20T21:21:42.313 回答
-1
      Date keyword = jDateChooserattendance.getDate();
      java.sql.Date sqldate = new java.sql.Date(keyword.getTime());
于 2021-07-05T16:28:56.483 回答