如何用java sql查询Netbeans忽略数据库中的字段

时间:2014-04-20 05:26:30

标签: java sql jdbc

我在MS Access数据库中有5行其中一行是序列号,其属性是自动编号我试图将此查询传递给要插入的数据库。

int s= sta.executeUpdate("INSERT INTO stockDB VALUES('"+name+"','"+size+"','"+quantity+"','"+price+"')");

在数据库中,序列号是第一列,然后是名称,大小,数量和价格。

当我尝试插入时出现此错误:

  

[Microsoft] [ODBC Microsoft Access Driver]查询值和目标字段的数量不同。

我知道我应该把东西放在第一个但是我应该把它放在那里? 我试着将序列号放在最后,但错误是一样的。 我应该在查询中放置什么以便sql接受它但仍然生成数据库中的自动编号?

3 个答案:

答案 0 :(得分:3)

你的SQL查询正在拧干 喜欢这个

int s= sta.executeUpdate("INSERT INTO stockDB(name,size,quantity,price) VALUES('"+name+"','"+size+"','"+quantity+"','"+price+"')");

您不需要手动插入序列号,因为它会自动增加,但您必须指定要插入的其余列名和值,并且序列号值将自动调整为自动增量

答案 1 :(得分:1)

尝试使用不同格式的查询 -

int s = sta.executeUpdate("insert into stockDB ('name', 'size', 'quantity', 'price') values('" + name + "','" + size + "','" + quantity + "','" + price + "')");

答案 2 :(得分:0)

您需要将序列号字段指定为AUTO_INCREMENT,以便在表格中插入eecord时自动为字段生成值。

然后在INSERT查询和供应值中指定字段名称。