JDBC getUpdateCount возвращает 0, но обновляется 1 строка в SQL ServerJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JDBC getUpdateCount возвращает 0, но обновляется 1 строка в SQL Server

Сообщение Anonymous »

Кто-нибудь это видел? Я использую MS SQL Server 2008 и пробовал его с двумя разными драйверами JDBC (jtds и Microsoft). Я запускаю простой оператор для обновления строки, и он обновляет ее, но getUpdateCount возвращает 0. Если я попробую это сделать для разных таблиц, он вернет 1, как и ожидалось. В этой таблице что-то есть.

Код: Выделить всё

PreparedStatement ps = conn.prepareStatement("select count(*) from foo_users where user_id = 1");
ResultSet rs = ps.executeQuery();
rs.next();
println(" count(*) is " + rs.getInt(1));    // Prints 1

ps = conn.prepareStatement("update foo_users set is_admin = 1 where user_id = 1");
ps.execute();
int count = ps.getUpdateCount();
println(" update count is " + count);        // Prints 0.
Что является причиной этого?
Обновление в ответ на комментарий: Да, ExecuteUpdate работает. Но я задаю этот вопрос, потому что использую библиотеку запросов под названием jOOQ, которая возвращает неверные результаты, поскольку вызывает методы Execute и getUpdateCount. Изначально я не включил этот вопрос в свой вопрос, потому что не думаю, что это вина библиотеки.

Подробнее здесь: https://stackoverflow.com/questions/217 ... sql-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»