gpt4 book ai didi

java - 从 JFrame 输入 'Date' 到 MySQL 数据库

转载 作者:行者123 更新时间:2023-12-03 09:05:59 24 4
gpt4 key购买 nike

(我使用的是 Netbeans IDE 8.2)
我正在制作一个 jFrame 表单来注册一个新用户,该用户将在运行时接受来自用户的一些值,并将它们插入到我在 MySQL 中创建的数据库中。
这是设计 View (忽略右上角的文本框)-
Design view

这是我使用 JDBC 编写的代码-
Code

现在,我面临的问题是输入 date ofbirth 。它显示了这个错误-
The error

这是数据库和表格-

"Customer " table

我从错误中得到的只是 MySQL 不能接受输入的值,我猜这可能是由于一些我不知道的隐式数据转换。我不明白如何解决这个问题。请帮忙 !
(我还没有做任何数据验证)

最佳答案

编辑 (感谢 Ole V.V. 的建议)
Date早已过时且设计不佳,因此更好的选择是LocalDate .话虽这么说,解决方案是使用准备好的语句,并且:

jDateChooser1.getDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

请考虑发布与代码图片相比的实际代码。话虽如此,插入 Date mysql 的文字,它们需要采用 here 描述的格式.所以你只需要对日期做更多的操作。让我们使用 YYYY-MM-DD .假设您使用的是 jDateChooser :
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dob = sdf.format(jDateChooser1.getSelectedDate().getTime());

附带说明一下,现在您正在手动构建查询并连接值,这对于 SQL 注入(inject)是开放的。请考虑使用 Prepared Statements

关于java - 从 JFrame 输入 'Date' 到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50784658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com