通过Netbeans自动将主键分配给MS-Access中的条目
问题描述:
我试图使用SQL将值插入到表中。用户输入除自动编号(ID)的主键以外的值。通过Netbeans自动将主键分配给MS-Access中的条目
if (lstCarD.getSelectedIndex() == -1) {
obj.updateTable("insert into tblSCars values('" + txtBrand.getText() + "','" + txtModel.getText() + "'," + Integer.parseInt(txtSpeed.getText()) + "," + Integer.parseInt(txtWeight.getText()) + "," + Double.parseDouble(txtAcc.getText()) + "," + Integer.parseInt(txtPower.getText()) + ") ");
} else {
obj.updateTable("UPDATE tblSCars SET tblSCars.Brand ='"+ txtBrand.getText()+"','"+ txtModel.getText() + "'," + Integer.parseInt(txtSpeed.getText()) + "," + Integer.parseInt(txtWeight.getText()) + "," + Double.parseDouble(txtAcc.getText()) + "," + Integer.parseInt(txtPower.getText()) +"WHERE RunnerId="+txtBrand.getText());
}
pnlStart.setSelectedIndex(2);
lstSuperCars.clear();
getCars();
使我有以下错误:
net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.3.1 row column count mismatch
它可以是允许用户输入的字段“ID”或从MS-Access表中删除领域(工作,如果我来解决做这个)。
我想弄清楚如何让Netbeans自动分配主键字段'ID',而不需要用户输入或删除它。
tblSCars - 我正在进入的表格。 班级中没有其他地方出现过“ID”字段。
在此先感谢。
答
该错误是一种不言自明的说明,您没有指定要插入的字段,并且您在插入/更新查询中指定的字段数量不等于表中字段的总数。
您可以指定下列方式字段:
insert into tblSCars(Field1, Field2 ... FieldN) VALUES(Value1, Value2 ... ValueN)
UPDATE tblSCars SET Field1 = Value1, Field2 = Value2, etc.