如何不将数据字段发送到数据库Java& Microsoft Access

时间:2014-04-20 00:59:45

标签: java sql ms-access

我正在使用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数据库中的字段?

1 个答案:

答案 0 :(得分:1)

如果您使用Insert语句的格式而不是当前语句,那将非常有用:

INSERT INTO <table name> (<list of field name>) VALUES (<list of field values>)
  

如果您拥有IDENTITYAUTO-NUMBER字段,并且某些字段具有默认值,则使用此格式非常有用。

作为猜测;你的陈述应该是这样的:

"INSERT INTO (name, size, quantity, price) stockDB VALUES('"+name+"','"+size+"','"+quantity+"','"+price+"')"