0

我仍然收到错误,即我没有为 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();

在表中,我只为设置了自动增量的一列提供值。

对我来说一切似乎都很好,但请给出任何可能出错的建议。

4

2 回答 2

1

不要在列列表中包含 auto inc 字段。

ps("INSERT INTO slide (duration, position, type) values (?, ?, ?)     ").set(slide.getDuration()).set(slide.getPosition()).set(slide.getType().ordinal()).update();
于 2013-02-06T22:09:22.003 回答
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/

于 2013-02-06T22:14:00.400 回答