[英]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.