简体   繁体   English

使用jdbc在oracle数据库中插入当前日期

[英]insert current date in oracle database using jdbc

I am trying to insert current date into Oracle sql.I had set the datatype to be DATE in oracle sql and changed the date format to DD-MM-YYYY.Now I am trying to insert current date as follows.But I am getting some error as shown below.Don't know what is wrong 我正在尝试将当前日期插入Oracle sql。我已经在Oracle sql中将数据类型设置为DATE,并将日期格式更改为DD-MM-YYYY。现在我正尝试按如下方式插入当前日期。错误如下所示。不知道出了什么问题

String sql6 = "insert into account(acc_no,acc_type,primary_phone_number,people_in_plan,acc_activated_date,acc_deactivated_date) values('"+n1+"','"+acctype+"','"+primaryphoneno+"','"+number_of_people+"',?,?)";      
Stmt = connection.prepareStatement(sql6);
SimpleDateFormat sdf=new SimpleDateFormat("DD-MM-YYYY");
Date date1 = new Date(System.currentTimeMillis());
Stmt.setString(5, sdf.format(date1));
Stmt.setNull(6, java.sql.Types.DATE);
Stmt.executeUpdate();

java.sql.SQLException: Invalid column index at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5386) at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:5374) at oracle.jdbc.driver.OraclePreparedStatementWrapper.setString(OraclePreparedStatementWrapper.java:282) java.sql.SQLException:oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:5374)处oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5386)处的列索引无效。 OraclePreparedStatementWrapper.setString(OraclePreparedStatementWrapper.java:282)

please user statement.setObject(1, new java.sql.Date()); 请用户statement.setObject(1, new java.sql.Date()); instead 代替

It looks like your column indexes are incorrect. 看起来您的列索引不正确。 They should be 1 and 2 respective. 它们应分别为1和2。

Stmt.setString(1, sdf.format(date1));
Stmt.setNull(2, java.sql.Types.DATE);

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

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