ojdbc7 使用 addBatch 方法将错误的数据插入表中

问题描述 投票:0回答:1

有一个oracle batch的链接,我在项目中使用它,如下所示:

PreparedStatement pstmt = 
          conn.prepareStatement("INSERT INTO user VALUES(?, ?)");

  pstmt.setInt(1, 2);
  pstmt.setString(2, "a");
  pstmt.addBatch();

  pstmt.setInt(1, 3);
  //pstmt.setString(2, "b");
  pstmt.addBatch();

该表有 2 个字段 id 和 name。我第二次没有设置name,但是表中仍然有两条记录,并且名称都是'a'。

ojdbc版本

<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
<scope>test</scope>
</dependency>

我的使用方法有问题吗,或者只是ojdbc有缺陷。在使用ojbdc批处理之前我应该对齐参数吗?

java ojdbc
1个回答
0
投票

a
仍然从第一个参数开始设置。你可以做

pstmt.clearParameters();

在设置第二个nd参数值之前

© www.soinside.com 2019 - 2024. All rights reserved.