Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:将JFormattedTextField掩码中的日期保存到Access DB_Java_Ms Access_Date_Insert - Fatal编程技术网

Java:将JFormattedTextField掩码中的日期保存到Access DB

Java:将JFormattedTextField掩码中的日期保存到Access DB,java,ms-access,date,insert,Java,Ms Access,Date,Insert,我有一个自定义的JFormattedTextfield用于日期,它使用MaskFormatter\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 要保存到我使用的对象,请执行以下操作: try { SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); String d

我有一个自定义的JFormattedTextfield用于日期,它使用MaskFormatter
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
要保存到我使用的对象,请执行以下操作:

        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;
    }
保存到对象后,我尝试生成SQLINSERT命令。在这里,如果我传递util.Date对象,它会给出异常,因为它不能在MS Access的日期/时间字段中存储“Sun Jan 01 00:00:00 IST 2011”。因此,我尝试了以下方法来获取sql.Date对象:

     long tm = bk.getTransDate().getTime();
    java.sql.Date dt = new java.sql.Date(tm);
并传递dt以插入sql命令。这会将日期保存在MS Access中,但存储的值为“01-07-1905”

需要进行哪些更改,以及在哪里以正确格式将日期存储从textfield转换为MS Access DB。 在Access DB中,日期字段的格式设置为SHORT

非常感谢您的帮助。

谢谢大家

我在MS Access中多次看到日期问题。大多数情况下,我将其转换为字符串/文本数据类型,以帮助我在应用程序中正确存储并转换为日期对象


这一次我也使用了相同的解决方案

我不确定Java的情况是什么,但在大多数情况下,您需要使用US date格式,或者更好的,使用带有MS Access和SQL的yyyy/mm/dd格式。