我想向 Access 插入日期时间值,但收到此错误:
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);
该错误消息表明您的InsertPeminjamanD
方法最终试图做类似的事情
INSERT INTO Table1 (DateTimeField) VALUES ('31/05/2016')
这行不通,原因有两个:
UCanAccess 期望日期文字包含在哈希标记中(#
), and
UCanAccess 通常期望xx/yy/zzzz
日期文字为MM/dd/yyyy
, not 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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)