[РЕШЕНО] Трудности при обновлении (update) объекта RowSet

Автор ost, 26 марта 2017, 17:15

0 Пользователи и 1 гость просматривают эту тему.

ost

#15
1) Прямой запрос а-ля UPDATE U_tmp SET uSumZ_VzOmsFF=null WHERE uSumZ_VzOmsFF=''
вызывает следующую ошибку в момент выполнения RowSet.execute()

Ошибка времени выполнения BASIC.
Вызвано исключение
Type: com.sun.star.sdbc.SQLException
Message: Запрос не вернул допустимого набора значений..


2) Да. Хождение туда-сюда потребуется позднее в любом случае. Но уже сейчас задача заNULLить все пустое выявила проблему обновления базы с помощью обновления RowSet.Update...().


UPD: Дела! Не смотря на ошибку, данные в базе обновились. О_о

ost

Знаю, как проигнорировать ошибку в коде макроса с помощью обработчика ошибок =) Возможно, это оптимальное решение? =)

economist

#17
ost - всё верно, даже больше: "Message: Запрос не вернул допустимого набора значений" - для всех Update, Delete, CREATE TABLE и вообще DDL-запросов - можно смело игнорить. Запрос выполняется, набора значений нет, значит все ОК!  

RowSet на то и сэт, что хоть какое-то время он существует неизменно. А вы его только создали - и тут же "нулить"!
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

ost

Хех, с принятием этого приема на вооружение макрос сильно упростится. Спасибо.
Я и раньше в ходе экспериментов по вставке строк получал подобную ошибку при этом строки в базу вставлялись. Связывал эти сообщения об ошибке с неправильным кодом макроса.