JDBC Java,行列计数不匹配

时间:2017-03-02 12:54:13

标签: java ms-access jdbc hsqldb

我一直收到此错误

Caused by: org.hsqldb.HsqlException: row column count mismatch

我不知道为什么我会收到此错误我试图从大约1小时解决此问题。

我在尝试将新记录添加到数据库时遇到了这个错误,只有一个用户会这样做。

if(ae.getActionCommand()=="Save")
        {
            stmt.executeUpdate("INSERT INTO Table2 VALUES('" + t.getText() + "','" + t10.getText() + "','" + t2.getText() + "','" + t3.getText() + "','" + t8.getText() + "','" + t12.getText() + "','" + t11.getText()+"')" );
            dbClose();
            dbOpen();

1 个答案:

答案 0 :(得分:2)

请勿以此形式使用insert:

INSERT INTO TAB VALUES(1,2,'x')

但使用显式列列表绑定变量

INSERT INTO TAB (COL1, COL2, COL3) VALUES(?,?,?)

您遇到的问题是该表的列数与VALUES子句中定义的列数不同。

后一种形式的insert会在您明确定义插入的列时禁用此问题。如果表结构兼容已升级(添加列),则插入仍为有效事件。