从Java插入时间戳Oracle列 [英] insert into timestamp oracle column from java

查看:491
本文介绍了从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆