【问题标题】:Storing Current date in database在数据库中存储当前日期
【发布时间】:2014-05-09 18:57:02
【问题描述】:

我的表中有一个TIMESTAMP 类型的列。 在我的 servlet 中,我正在编写代码以在此列中插入当前日期和时间,如下所示:

 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 Date date = new Date();
 String sendDate = dateFormat.format(date);
 ps.setString(4,sendDate);

但它会抛出一个Exception:

 java.sql.SQLException: [Oracle][ODBC][Ora]ORA-01843: not a valid month

可能是什么原因?

请帮忙。

【问题讨论】:

  • 为什么不让数据库生成日期,使用SYSDATE()函数呢?

标签: java servlets jdbc oracle10g


【解决方案1】:

你为什么使用ps.setString ? 你应该使用ps.setDate。

编辑

Date dateNow = new java.sql.Date(System.CurrentTimeMillis())
ps.setDate(dateNow);

最好使用时间戳强:

ps.setTimestamp(1, new Timestamp(System.currentTimeMillis()); 

【讨论】:

  • 那么如何获取当前的系统日期?可以写在这里吗?
  • 以及如何找回它?如果说我想要两个不同字符串中的日期和时间。?
  • 从数据库中读取?您需要创建一个选择 qeury 和用户 ResultSet rs = statement.executeQuery(s);
  • 是的,我知道这个。但是如何以字符串的形式将它带入。我在问这个
  • 我不完全理解.. 你应该把它作为一个日期列,而不是字符串。 rs.getDate(1)..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 2014-05-04
  • 1970-01-01
相关资源
最近更新 更多