当前位置: 首页 > 知识库问答 >
问题:

使用Java插入数据库时出现Postgresql PSQL异常

丰博
2023-03-14

我的代码有一个错误,

java.lang.RuntimeException: org.postgresql.util.PSQLException: The column index is out of range: 12, number of columns: 11

我花了一些时间寻找不同的解决办法,但没有效果。

这是我的代码,

public void insertToDB(Active active) {

        String sql = "INSERT INTO active (branchname, branchcode, sidnew, sidold, accountno, openingbalance, "
                + "paymentreceived, currentcharges, monthlyrecrate, invoiceno, category)"
                + " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

        Connection conn = null;

        try {

            conn = dataSource.getConnection();
            PreparedStatement ps = conn.prepareStatement(sql);

            ps.setString(3, active.getBranchname());
            ps.setString(4, active.getBranchcode());
            ps.setString(5, active.getSidnew());
            ps.setString(6, active.getSidold());
            ps.setString(7, active.getAccountno());
            ps.setString(8, active.getOpeningbalance());
            ps.setString(9, active.getPaymentreceived());
            ps.setString(10, active.getCurrentcharges());
            ps.setString(11, active.getMonthlyrecrate());
            ps.setString(12, active.getInvoiceno());
            ps.setString(13, active.getCategory());

            ps.executeUpdate();
            ps.close();

        } catch (SQLException e) {
            throw new RuntimeException(e);

        } finally {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {}
            }
        }

    }

这是我的eclipse控制台的日志。

null

感谢任何帮助。谢谢!

共有1个答案

柴寂离
2023-03-14

您的查询只有11个占位符,您不能调用索引大于11的ps.setstring

在您的情况下,可能的值范围从111

 类似资料:
  • 我正在尝试从我创建的一个简单的联系人表单中插入数据。我正在使用phpMyAdmin 下面是PHP(出于安全考虑,我删除了define语句,但我可以毫无问题地建立到数据库的链接。) 当有人点击论坛上的submit按钮后,代码就会运行,据我所知,这是正常工作的。 该错误发生在php代码的末尾。正在输出“SLQ Insert Statement FAILD”,但未发布mysql错误。 我的数据库/表的设

  • 我忙于一项学校作业,我有一个由三个表组成的基本access数据库。Book、Reader和BookRated,其中as BookRated是交集表,主键userName来自Reader和ISBN来自Book组成BookRated的复合主键(作为外键)。 我正试图将信息插入书签表中,但出现以下错误

  • 人类 PersonJpaDao类 主类 当我运行主函数时,查找和更新工作正常,但对于具有与更新相同代码的插入操作,会引发如下异常: 原因:org。springframework。刀。DataIntegrityViolationException:无法执行语句;SQL[n/a];约束[“PUBLIC.PERSON(ID)上的主键];SQL语句:插入到PERSON(出生日期、位置、姓名、ID)值(?,

  • 我正在使用并尝试插入具有以下函数的mysql数据库: 最后一个带有的控制台输出显示正确,但即使在等待之后也没有发生任何事情 我猜这是函数的异步部分,但同时还能做什么呢? 使用Knex时,是否有标准的方法创建条目? 感谢您的回复!

  • 这是我的代码: 有人能知道这段代码中的错误是什么,请修复它。