Java 如何将表单中的日期插入到数据库中类型为Datetime的列中

Java 如何将表单中的日期插入到数据库中类型为Datetime的列中,java,Java,我得到的日期是一个表单中的字符串。日期看起来像XXXXXX:xx:xx:xx 如何将此日期字符串保存到数据库中类型为datetime的列中 我使用PreparedStatementPSTA=new PreparedStatementsql来设置sql的值 所以对于Datetime类型列,当我预先设置值时。我应该用 psta.setDate还是使用psta.setString 使用SimpleDataFormat将字符串转换为日期 参考: 使用psta.setDate设置sql查询的日期 参考:

我得到的日期是一个表单中的字符串。日期看起来像XXXXXX:xx:xx:xx

如何将此日期字符串保存到数据库中类型为datetime的列中

我使用PreparedStatementPSTA=new PreparedStatementsql来设置sql的值

所以对于Datetime类型列,当我预先设置值时。我应该用 psta.setDate还是使用psta.setString

使用SimpleDataFormat将字符串转换为日期

参考:

使用psta.setDate设置sql查询的日期

参考:


请忽略所有说明使用setDate的注释和其他答案。相反,您必须使用setTimestamp,因为您的日期字符串具有一天中的时间小时、分钟、秒

首先,必须使用语法分析文本。 然后从转换为。 最后打电话。 总之,就像这样:

SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = fmt.parse(dateString);
psta.setTimestamp(1, new java.sql.Timestamp(date.getTime()));

您必须使用setDateuse将字符串转换为日期,然后使用setDateuse setTimestamp,而不是setDate。我使用setTimestamp。但抛出了一个错误java.sql.SQLException:列计数与第1行的值计数不匹配。我用表中的列检查了参数数量和参数名称。它是same@Will您必须显示更多代码以获得帮助,但这是另一个问题。这就是这个问题的答案。创建另一个问题,以解决与setXxx调用匹配的问题?SQL语句中的标记。@Andreas非常感谢您,我修复了错误: