Java 在数据库中存储当前日期

Java 在数据库中存储当前日期,java,servlets,jdbc,oracle10g,Java,Servlets,Jdbc,Oracle10g,我的表中有一列类型为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); 但它抛出了一个异常: java.sql

我的表中有一列类型为
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);
但它抛出了一个
异常

 java.sql.SQLException: [Oracle][ODBC][Ora]ORA-01843: not a valid month
原因可能是什么


请帮助。

为什么要使用
ps.setString
? 您应该使用
ps.setDate

编辑

Date dateNow = new java.sql.Date(System.CurrentTimeMillis())
ps.setDate(dateNow);
最好使用时间戳:

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

为什么要使用
ps.setString
? 您应该使用
ps.setDate

编辑

Date dateNow = new java.sql.Date(System.CurrentTimeMillis())
ps.setDate(dateNow);
最好使用时间戳:

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

为什么要使用
ps.setString
? 您应该使用
ps.setDate

编辑

Date dateNow = new java.sql.Date(System.CurrentTimeMillis())
ps.setDate(dateNow);
最好使用时间戳:

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

为什么要使用
ps.setString
? 您应该使用
ps.setDate

编辑

Date dateNow = new java.sql.Date(System.CurrentTimeMillis())
ps.setDate(dateNow);
最好使用时间戳:

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


然后如何获取当前的系统日期?你们能把它写在这里吗?以及如何取回它?若说我想要两个不同的字符串中的日期和时间。?从数据库中读取它?您需要创建一个select qeury和user ResultSet rs=statement.executeQuery;是的,我知道这个。但是如何把它变成字符串的形式。我问这个问题我不完全明白。。应该将其作为日期列,而不是字符串。rs.getDate(1)…然后如何获取当前的系统日期?请您将其写在这里?以及如何检索它?如果说我想要两个不同的字符串中的日期和时间。?从数据库中读取它?您需要创建一个select qeury和user ResultSet rs=statement.executeQuery;是的,我知道这个。但是如何把它变成字符串的形式。我问这个问题我不完全明白。。应该将其作为日期列,而不是字符串。rs.getDate(1)…然后如何获取当前的系统日期?请您将其写在这里?以及如何检索它?如果说我想要两个不同的字符串中的日期和时间。?从数据库中读取它?您需要创建一个select qeury和user ResultSet rs=statement.executeQuery;是的,我知道这个。但是如何把它变成字符串的形式。我问这个问题我不完全明白。。应该将其作为日期列,而不是字符串。rs.getDate(1)…然后如何获取当前的系统日期?请您将其写在这里?以及如何检索它?如果说我想要两个不同的字符串中的日期和时间。?从数据库中读取它?您需要创建一个select qeury和user ResultSet rs=statement.executeQuery;是的,我知道这个。但是如何把它变成字符串的形式。我问这个问题我不完全明白。。应该将其作为日期列,而不是字符串。rs.getDate(1)…为什么不让数据库生成日期并使用
SYSDATE()
函数?为什么不让数据库生成日期并使用
SYSDATE()
函数?为什么不让数据库生成日期并使用
SYSDATE()函数
函数?为什么不让数据库生成日期并使用
SYSDATE()
函数?