我的对话框上有两个 jDateChooser,我想保存到该数据类型有问题的 MS-SQL 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);
//
最佳答案
从您发布的代码来看,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
}
关于java - 从 jDateChooser 获取值并保存到 MS sql DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23564363/