从Java插入时间戳Oracle列 [英] insert into timestamp oracle column from java
本文介绍了从Java插入时间戳Oracle列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用这种方法制成了一张桌子
i got a table made in this way
CREATE TABLE WS_NAPACQ00T
( IDE_IDEN varchar2(20) PRIMARY KEY NOT NULL,
CLB_CXML CLOB,
SYS_DATE TIMESTAMP
);
和此Java代码放入dt_date当前日期.
and this java code to put in dt_date current date.
Timestamp dt_date = new Timestamp(System.currentTimeMillis());
String insertXML = "insert into WS_NAPACQ00T (IDE_IDEN, CLB_CXML, SYS_DATE) values ('10', 'test', '"+dt_date+"' ) ";
result = statement.executeQuery(insertXML);
错误是:
"not a valid month"
我该如何解决?
推荐答案
请勿使用 SQLInjection ,而是使用 PreparedStatement 如下.
Don't use Statement it can lead to SQLInjection, instead use PreparedStatement as follows.
String insertXML = "insert into WS_NAPACQ00T (IDE_IDEN, CLB_CXML, SYS_DATE) values (?, ?, ?) ";
PreparedStatement statement = connection.prepareStatement(insertXML);
statement.setString(1,"10");
statement.setString(2,"test");
statement.setTimestamp(3, new Timestamp(System.currentTimeMillis()));
result = statement.executeQuery();
不相关.
如果要插入当前时间戳,可以使用CURRENT_TIMESTAMP
. SELECT CURRENT_TIMESTAMP from DUAL;
将给出当前时间戳.
If you want to insert current timestamp you can use CURRENT_TIMESTAMP
. SELECT CURRENT_TIMESTAMP from DUAL;
will give the current timestamp.
这篇关于从Java插入时间戳Oracle列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文