繁体   English   中英

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

[英]How to insert a date from form to a column whose type is Datetime in database

我从表单中得到了一个字符串日期。 日期看起来像xxxx-xx-xx xx:xx:xx

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

我使用PreparedStatement psta = new PreparedStatement(sql)设置sql的值。

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

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

  1. 首先,您必须使用SimpleDateFormat解析文本。
  2. 然后从java.util.Date转换为java.sql.Timestamp
  3. 最后调用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()));
  1. 使用SimpleDateFormat将您的字符串转换为日期。

    参考: 如何使用SimpleDateFormat将字符串转换为日期?

  2. 使用psta.setDate()设置SQL查询的日期。

    参考: 在PreparedStatement中使用setDate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM