2013-04-27 68 views
0

如果有重複,我很抱歉,但我仍嘗試了所有方法仍然無法進行插入。Mysql&MSAccess:插入表中有一個遞增的字段

我有隻有兩個字段(ID,姓名)的表 當我運行該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

MS訪問:

  1. insert into names(name) values(?)

java.lang.ArrayIndexOutOfBoundsException:1

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

值java.sql.SQLException:[微軟] [ODBC Microsoft Access驅動程序] COUNT場不正確

這些錯誤的原因是什麼?以及如何解決它?

感謝您的建議和解答。

回答

2

change pr.setString(2,「Azad」);到pr.setString(1,「Azad」);

第一個參數是關於?在準備好的語句中,不是表中的列索引。

java.sql.SQLException:沒有爲參數1指定值。這是由於您爲查詢指定了兩個參數。但只有第二個參數指定了一個值。如果「ID」是一個自動遞增列,那麼你不需要傳入一個值。如果不是那麼

pr.setString(1,IDVALUE);

pr。的SetString(2, 「阿扎德」);

+0

嗯,我沒有想到這一點,感謝這是工作+1和接受。 – Azad 2013-04-27 21:33:05

相關問題