我一直收到此错误
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();
答案 0 :(得分:2)
请勿以此形式使用insert:
INSERT INTO TAB VALUES(1,2,'x')
但使用显式列列表和绑定变量:
INSERT INTO TAB (COL1, COL2, COL3) VALUES(?,?,?)
您遇到的问题是该表的列数与VALUES
子句中定义的列数不同。
后一种形式的insert会在您明确定义插入的列时禁用此问题。如果表结构兼容已升级(添加列),则插入仍为有效事件。