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

时间:2016-05-02 22:28:04

标签: java oracle jdbc

我正在尝试将当前日期插入Oracle sql.I已将数据类型设置为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:列索引无效     at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5386)     at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:5374)     在oracle.jdbc.driver.OraclePreparedStatementWrapper.setString(OraclePreparedStatementWrapper.java:282)

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您的列索引看起来不正确。它们应分别为1和2。

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