Mysql& MS Access:插入到具有增量字段的表中

时间:2013-04-27 21:20:38

标签: java mysql database jdbc sqlexception

我很抱歉,如果有重复但我尝试了所有方法仍然无法插入。

我有一个只有两个字段的表(ID,Name) 当我运行此SQL代码时,必须插入新记录并自动增加ID字段 因为它是自动增量但不幸的是不起作用。 查看跟踪和错误:

MYSQL:

  1. PreparedStatement pr = con.prepareStatement("insert into names(name) values(?)"); pr.setString(2,"Azad");

    java.sql.SQLException:参数索引超出范围(2>参数个数,即1)。

  2. insert into names(id,name) values(?,?)

    java.sql.SQLException:没有为参数1指定值

  3. MS Access:

    1. insert into names(name) values(?)
    2. java.lang.ArrayIndexOutOfBoundsException:1

      1. insert into names(id,name) values (?,?)
      2. java.sql.SQLException:[Microsoft] [ODBC Microsoft Access驱动程序] COUNT字段不正确

        这些错误的原因是什么?以及如何解决它?

        感谢您的建议和解答。

1 个答案:

答案 0 :(得分:2)

更改pr.setString(2,“Azad”);到pr.setString(1,“Azad”);

第一个参数与?的位置有关?在预准备语句中,而不是表中的列索引。

java.sql.SQLException:没有为参数1指定值。这取决于您为查询指定了两个参数。但是只为第二个参数指定了一个值。如果“ID”是自动递增的列,则您不需要传入值。如果不是那么

pr.setString(1,IDVALUE);

pr.setString(2, “阿扎德”);