У меня есть пользовательское поле JFormattedText для даты, которое использует MaskFormatter __/__/____
и шаблон "dd / MM / yyyy".
Для сохранения на объекте я использую:
try {
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String dtStr = this.dateFormatTf.getValue().toString().trim(); // 01/01/2011
java.util.Date dt = df.parse(dtStr); // dt = Sun Jan 01 00:00:00 IST 2011
bk.setTransDate(dt); // SAVes the date as util.Date in above way as dt
} catch(java.text.ParseException e) {
Utility.logs.log(Level.WARNING, "Parse Date Exception = " + e.getMessage());
e.printStackTrace();
return null;
}
После сохранения вобъект, я пытаюсь сгенерировать команду вставки sql.Здесь, если я передам объект util.Date, он выдаст исключение, поскольку не может сохранить «Sun Jan 01 00:00:00 IST 2011» в поле «ДАТА / ВРЕМЯ» MS Access.Поэтому я попытался ниже получить объект sql.Date:
long tm = bk.getTransDate().getTime();
java.sql.Date dt = new java.sql.Date(tm);
и передать команду dt для вставки команды sql.Это сохраняет дату в MS Access, но сохранено значение «01-07-1905».
Какие изменения необходимы и где хранить данные в правильном формате от текстового поля до БД MS Access.В Access DB формат поля DATE установлен на SHORT.
Любая помощь очень важна.