繁体   English   中英

从Java插入时间戳Oracle列

[英]insert into timestamp oracle column from java

我用这种方式做了一张桌子

CREATE TABLE WS_NAPACQ00T
( IDE_IDEN varchar2(20) PRIMARY KEY NOT NULL,
  CLB_CXML CLOB,
  SYS_DATE TIMESTAMP
);

并将此Java代码放入dt_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"

我该如何解决?

不要使用Statement可能导致SQLInjection ,而是如下使用PreparedStatement

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; 将给出当前时间戳。

暂无
暂无

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

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