2
我有過這樣的更新:如何從PreparedStatement中獲取錯誤或警告?
update table set col1=?,col2=?,col3=? where col4=?;
,我填起來是這樣的:
statement.setString(1,"some_value");
statement.setString(2,"some_value");
statement.setString(3,"some_value");
,我忘了添加第四value.I做executeUpdate
,當然一個什麼也沒有發生數據庫。我花了大約1個小時調試它,看看它出錯的地方。然後我修改我的代碼以打印由getWarnings
方法返回的SQLWarning
對象。 它總是返回null。我甚至在設置第四個參數之前,將代碼修改爲它的錯誤狀態,並且仍然沒有警告。有誰知道如何得到一個錯誤/警告?
如果很重要,我的連接設置爲autoCommit。
是你的代碼捕捉和吞嚥異常? – 2010-06-07 18:19:04
不,所有例外都打印完整的堆棧跟蹤。 – Geo 2010-06-07 19:02:48
這顯然是JDBC驅動程序特定的或SQLite JDBC驅動程序中的「錯誤」。根據我的經驗,如果缺少參數,MySQL和PostgreSQL都會拋出一個自我解釋的SQLException。例如MySQL會拋出'java.sql.SQLException:這裏沒有爲參數4'指定值。 – BalusC 2010-06-07 21:59:01