java - 在数据库中存储 jXDatePicker1 日期值时出错

标签 java sql derby swingx

我正在使用 swingxLabs 的组件 jXDatePicker1 以图形格式选择日期,并尝试将其存储在 derby 制作的数据库中。我的代码是这样的:

Date date=jXDatePicker1.getDate();

 PreparedStatement statement = connect
      .prepareStatement("INSERT INTO BILLING (DATE, DHRNUMBER) VALUES('"+date+"', "+dhrNumber+")");

我收到的错误是:

java.sql.SQLDataException: The syntax of the string representation of a datetime value is incorrect.

我做得对吗?或者可以有其他方法来解决这个问题。

谢谢

最佳答案

Derby 的内置 DATE 数据类型支持简短的字符串格式列表:http://db.apache.org/derby/docs/10.9/ref/rrefsqlj18730.html

由于您使用的是PreparedStatement,所以最好的办法就是准备语句

INSERT INTO BILLING (DATE, DHRNUMBER) VALUES(?,?)

然后使用 setDate() 和 setInt() 方法替换您的实际值: http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html

关于java - 在数据库中存储 jXDatePicker1 日期值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15841616/

相关文章:

java - 带有链表实现和存储文本文件的哈希表

java - 使用 Excel 文件中的数据刷新表 JTable

java - 使用 JPA 而不是 DriverManager 关闭 Derby 数据库

c# - 如何调试 soap web 服务?

mysql - 如何使用特征表查询多对多关系(AND条件)

spring-boot - 升级到Apache Derby 10.15后,Spring Boot应用程序中断-为什么?

sql - 数据库触发器比查询慢吗?

sql - 大型数据列表的微服务和连接

mysql - 无法通过节俭获取配置单元远程 Metastore 表信息

sql - 如何更新刚刚检索到的记录而不发出额外的查询?