Пакетная вставка MySQL: получить количество вставленных строк

Я использую Java для выполнения пакетной вставки в таблицу MySQL:

cnx = lconnect.openConnection();
mStatement = cnx.createStatement();
boolean firstTime = true;
PreparedStatement preparedStatement = null;

preparedStatement = cnx.prepareStatement(strQuery);
preparedStatement.setString(param1);
preparedStatement.setString(param2);
....
preparedStatement.addBatch();
preparedStatement.setString(param1);
preparedStatement.setString(param2);
preparedStatement.addBatch();
preparedStatement.setString(param1);
preparedStatement.setString(param2);

preparedStatement.execute();

Есть ли способ действительно узнать количество вставленных строк?

Я думаю, что мой кусок кода работает (?) По количеству строк в БД, не совпадает с количеством строк, которые должны быть вставлены, поэтому я думаю, что у меня проблема с y-вставками.

2 ответа

Решение

Вы должны позвонить executeBatch(), Возвращенный массив содержит информацию, которую вы хотите.

Из JavaDoc:

Возвращает: массив обновлений, содержащий один элемент для каждой команды в пакете. Элементы массива упорядочены в соответствии с порядком, в котором команды были добавлены в пакет.

Использование PreparedStatement объект для каждой записи серии:)

Другие вопросы по тегам