error java.sql.SQLException:参数索引超出范围

时间:2013-02-06 22:05:38

标签: java

我仍然得到错误,我没有提供1参数的值,我不知道有什么问题。

ps("INSERT INTO slide (presentation_id, duration, position, type) values (?, ?, ?, ?)     ").set(this.getId()).set(slide.getDuration()).set(slide.getPosition()).set(slide.getType().ordinal()).update();

在表I中,仅为一个设置了自动增量的列提供值。

对我来说一切似乎都没问题,但请提出任何可能出错的建议。

2 个答案:

答案 0 :(得分:1)

不包括列列表中的auto inc字段。

ps("INSERT INTO slide (duration, position, type) values (?, ?, ?)     ").set(slide.getDuration()).set(slide.getPosition()).set(slide.getType().ordinal()).update();

答案 1 :(得分:0)

尝试做一些更干净的事情,而不是这个“火车代码”

这是一个例子:

String insertTableSQL = "INSERT INTO DBUSER"
        + "(USER_ID, USERNAME, CREATED_BY, CREATED_DATE) VALUES"
        + "(?,?,?,?)";
PreparedStatement preparedStatement = dbConnection.prepareStatement(insertTableSQL);
preparedStatement.setInt(1, 11);
preparedStatement.setString(2, "mkyong");
preparedStatement.setString(3, "system");
preparedStatement.setTimestamp(4, getCurrentTimeStamp());
// execute insert SQL stetement
preparedStatement .executeUpdate();

以下是以下链接:http://www.mkyong.com/jdbc/jdbc-preparestatement-example-insert-a-record/