powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Снова вопрос о пакетных изменениях в АДО
1 сообщений из 1, страница 1 из 1
Снова вопрос о пакетных изменениях в АДО
    #32819964
RomanStO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходная ситуация - имеется открытый рекордсет в режиме пакетного обновления.
Делаем правку - удаляем из него одну запись, затем вставляем новую .
Делаем UpdateBatch.
С помощью профайлера отлавливаем передаваемые на сервер команды.
Вот они
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
set implicit_transactions on 

exec sp_executesql N'DELETE FROM "SALARY_cat".."kd_PrikazDetailOtp" WHERE "id"=@P1; INSERT INTO "SALARY_cat".."kd_PrikazDetailOtp" ("idPrikaz","Rekno") VALUES (@P2,@P3)', N'@P1 int,@P2 int,@P3 int', 276, 175, 2230

SELECT @@IDENTITY

IF @@TRANCOUNT >  0  COMMIT TRAN

Как видим , вторая команда вызывает пакет из Delete и Insert
При этом , если Delete проходит без ошибок, то ошибка при выполнении Insert не попадает на клиента , и транзакция закомичивается .

Коллекция Errors в соединении остается пустой, рекордсет считает , что все записи успешно переданны на сервер.

Вопрос - с этим можно как-то бороться , не прибегая к использованию хранимых процедур?
Как заставить рекордсет получать ошибку при выполнении любой команды пакете?

Выполнение в Query Analyser приводит к закономерной ругани .

Спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Снова вопрос о пакетных изменениях в АДО
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]