微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无效的日期时间格式:将日期/时间插入Java的Access中

如何解决无效的日期时间格式:将日期/时间插入Java的Access中

错误消息表明您的InsertPeminjamanD方法最终试图做类似的事情

INSERT INTO Table1 (DateTimeField) VALUES ('31/05/2016')

并且由于以下两个原因将无法正常工作:

  1. ucanaccess希望日期文字被括在井号(#)中,并且

  2. ucanaccess通常期望xx/yy/zzzz日期文字MM/dd/yyyy不是dd/MM/yyyy

因此,如果将上述查询重新排列为…,它将起作用。

INSERT INTO Table1 (DateTimeField) VALUES (#05/31/2016#)

…尽管使用PreparedStatement并传递适当的日期值确实会更好:

String sql = "INSERT INTO Table1 (DateTimeField) VALUES (?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setDate(1, java.sql.Date.valueOf("2016-05-31"));
ps.executeUpdate();

解决方法

我想向Access插入一个datetime值,但是出现此错误:

net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc ::: 3.0.4数据异常:无效的日期时间格式

这是代码:

private void txtsubmitActionPerformed(java.awt.event.ActionEvent evt) {                                          
    SimpleDateFormat A = new SimpleDateFormat("dd/MM/yyyy");
    Peminjaman P= new Peminjaman(setIDTrans(),txtid.getText(),A.format(txttglpinjam.getDate()),A.format(txttglkembali.getDate()),txtplat.getText(),txtnama.getText(),txtdriver.getText());
    c.InsertPeminjamanD(P);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。