gpt4 book ai didi

java - 将输入日期字符串转换为 SQL 日期类型

转载 作者:行者123 更新时间:2023-11-29 09:23:47 24 4
gpt4 key购买 nike

我一整天都在寻找这个答案,但我没有得到任何结果。

我有一个格式如下的字符串:

年/月/日

我想将其输入 SQL 数据库

数据库字段(日期类型)显示格式为 yyyy-mm-dd。

目前我有以下代码:

    String inputDate = dateBookingEntry.getText();
LocalDate interDate = LocalDate.now();
interDate.parse(inputDate,DateTimeFormatter.ofPattern("dd/MM/yyyy"));
java.sql.Date finalDate = java.sql.Date.valueOf(interDate);

当我输入日期 12/12/2020 作为字符串时,我收到错误消息:

java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2020-01-29'

我不明白我做错了什么,也不知道如何解决。我知道它显示的是当前日期而不是输入的日期,但即使这是问题所在,为什么它会显示 SQL 语法错误?

我应该在此处更改什么才能使其正常工作?

编辑:

该表的 SQL 插入代码如下所示:

st.executeUpdate("INSERT INTO `fitnessClasses`(`session`, `date`, `price`, `trainer`, `level`, `type`) VALUES ('"+session+"', '"+sqlDate+"', '"+price+"', '"+trainer+"', '"+level+"', '"+classType+"')");

上面提到的带有错误的完整 SQL 代码如下所示:

ResultSet result = st.executeQuery("SELECT * FROM `fitnessClasses` WHERE `session` = '"+session+"' AND `date` '"+finalDate+"' AND `type` = '"+classType+"' AND `level` = '"+level+"'");

编辑2:

好吧,我现在意识到我错过了一个=。

现在 SQL SELECT 可以工作,但它搜索的是今天的日期,而不是输入的日期

最佳答案

我认为你想要类级别的解析,例如

LocalDate interDate = LocalDate.parse(inputDate blah blah)

当前您将 interDate 设置为 now(),即当前日期,这就是为什么您最终得到今天的日期而不是输入的日期。

关于java - 将输入日期字符串转换为 SQL 日期类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59970644/

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