【发布时间】:2018-11-19 22:22:44
【问题描述】:
(我使用的是 Netbeans IDE 8.2) 我正在制作一个 jFrame 表单来注册一个新用户,该用户将在运行时接受来自用户的一些值,并将它们插入到我在 MySQL 中创建的数据库中。 这是设计视图(忽略右上角的文本框)-
这是我使用 JDBC 编写的代码-
现在,我面临的问题是输入出生日期。它显示了这个错误-
这是数据库和表格-
我从错误中得到的只是 MySQL 不能接受输入的值,我猜这可能是由于一些我不知道的隐式数据转换。我不明白如何解决这个问题。请帮忙 ! (我还没有做任何数据验证)
【问题讨论】:
-
你应该学习使用绑定变量和准备好的语句有很多原因。接下来你不应该使用
Date类,它早已过时且设计不佳。使用LocalDate,这是代表没有时间的日期的现代类。将其传递给您准备好的声明,您的问题就会消失。 -
能否将您的代码作为文本发布在问题中(使用
{}按钮将其格式化为代码)?它更容易阅读,并且允许有人对其进行测试并在答案中引用它的相关部分,无论是修改过的还是未修改过的。您也可以在问题中将错误消息引用为文本,而不是发布图片。 -
你的意思是说我做一个LocalDate类的对象,然后给那个对象传一个值?
-
我不是从我的电脑上发布这个,所以现在发布代码有点问题
-
是的,例如this answer。由于您从日期选择器中获取日期,因此您可能需要先进行转换。
jDateChooser1.getDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate()(有点罗嗦,但其他方面直截了当)。
标签: java mysql date error-handling netbeans-8