我正在使用Netbeans和Microsoft Access。在Microsoft Access中,我有5个数据字段,其中一个是ID
,这是自动编号,但是当我从Java使用此查询时。
int s= sta.executeUpdate("INSERT INTO stockDB VALUES('"+name+"','"+size+"','"+quantity+"','"+price+"')");
显示错误:
java.sql.SQLException:[Microsoft] [ODBC Microsoft Access Driver]查询值和目标字段的数量不同。
但问题是最后一个字段是ID
是自动编号,但是我必须向数据库发送一个查询,我应该将哪个查询添加到最后一个以使其工作而不会干扰ID数据库中的字段?
答案 0 :(得分:1)
如果您使用Insert
语句的格式而不是当前语句,那将非常有用:
INSERT INTO <table name> (<list of field name>) VALUES (<list of field values>)
如果您拥有
IDENTITY
或AUTO-NUMBER
字段,并且某些字段具有默认值,则使用此格式非常有用。
作为猜测;你的陈述应该是这样的:
"INSERT INTO (name, size, quantity, price) stockDB VALUES('"+name+"','"+size+"','"+quantity+"','"+price+"')"