如何解决无效的日期时间格式:将日期/时间插入Java的Access中
错误消息表明您的InsertPeminjamanD
方法最终试图做类似的事情
INSERT INTO Table1 (DateTimeField) VALUES ('31/05/2016')
并且由于以下两个原因将无法正常工作:
-
ucanaccess希望日期文字被括在井号(
#
)中,并且 -
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] 举报,一经查实,本站将立刻删除。