Как я могу получить сообщение об ошибке или предупреждение от PreparedStatement? - PullRequest
2 голосов
/ 07 июня 2010

У меня было такое обновление:

update table set col1=?,col2=?,col3=? where col4=?;

и я заполнил это так:

statement.setString(1,"some_value");
statement.setString(2,"some_value");
statement.setString(3,"some_value");

и я забыл добавить четвертое значение. Я сделал executeUpdate и, конечно, ничего не случилось с базой данных. Я потратил около 1 часа на его отладку, чтобы увидеть, где он идет не так. Затем я изменил свой код для печати объекта SQLWarning, возвращенного методом getWarnings. Это всегда возвращало ноль. Я даже изменил код до состояния ошибки, прежде чем установить четвертый параметр, и до сих пор без предупреждения. Кто-нибудь знает, как можно получить ошибку / предупреждение?

Если это имеет значение, мое Соединение установлено на autoCommit.

1 Ответ

3 голосов
/ 07 июня 2010

executeUpdate возвращает количество строк, измененных оператором.Вы можете проверить, является ли этот результат 0, и если это так, запишите свое собственное предупреждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...