我很抱歉,如果有重复但我尝试了所有方法仍然无法插入。
我有一个只有两个字段的表(ID,Name)
当我运行此SQL代码时,必须插入新记录并自动增加ID
字段
因为它是自动增量但不幸的是不起作用。
查看跟踪和错误:
MYSQL:
PreparedStatement pr = con.prepareStatement("insert into names(name) values(?)");
pr.setString(2,"Azad");
java.sql.SQLException:参数索引超出范围(2>参数个数,即1)。
insert into names(id,name) values(?,?)
java.sql.SQLException:没有为参数1指定值
MS Access:
insert into names(name) values(?)
java.lang.ArrayIndexOutOfBoundsException:1
insert into names(id,name) values (?,?)
java.sql.SQLException:[Microsoft] [ODBC Microsoft Access驱动程序] COUNT字段不正确
这些错误的原因是什么?以及如何解决它?
感谢您的建议和解答。
答案 0 :(得分:2)
更改pr.setString(2,“Azad”);到pr.setString(1,“Azad”);
第一个参数与?的位置有关?在预准备语句中,而不是表中的列索引。
java.sql.SQLException:没有为参数1指定值。这取决于您为查询指定了两个参数。但是只为第二个参数指定了一个值。如果“ID”是自动递增的列,则您不需要传入值。如果不是那么
pr.setString(1,IDVALUE);
pr.setString(2, “阿扎德”);