Что использовать: executeUpdate () или execute ()? - PullRequest
9 голосов
/ 09 января 2012

Скажите, пожалуйста, какой из двух методов executeUpdate и execute является лучшим для запроса вставки, например insert into users(name, addr, city, sex, dob) values(?,?,?,?,?); Оба оператора будут выполнять запрос, но какойдолжно идеально использоваться для запроса вставки?

Ответы [ 2 ]

15 голосов
/ 09 января 2012

Возвращаемое значение отличается. ExecuteUpdate () возвращает количество обновленных строк, что может быть полезно при выполнении оператора обновления. В вашем случае это не нужно, так как вы знаете, сколько записей вы вставляете. Вы можете использовать любой из них.

2 голосов
/ 25 апреля 2016

В принципе отличается только возвращаемое значение.Однако я обнаружил, что при использовании jConnect 3 для доступа к Sybase ASE 15.7 функция execute () не блокируется до тех пор, пока не сработают триггеры, и немедленное закрытие PreparedStatement приведет к ROLL BACK обновлению.(Вставка сна в 1 с заставляет его работать для одного запроса, который я пытался.) Напротив, executeUpdate () не страдает от этой проблемы;кажется, что он делает правильные вещи и не требует произвольного сна перед закрытием PreparedStatement.

...