Посмотрел. пока не могу проверить, но по логике должно работать.
за одним исключением - вызов ReadResponse() при получении кода операции op_response вызовет исключение. сразу. в то время как клиентская библиотека firebird кэширует статус с ошибкой и выдаст его только после выборки из буфера всех предыдущих данных. Не знаю какое поведение более корректно - вариант клиентской либы Firebird или Карлоса - ведь клиент может выполнить isc_dsql_free_statement и подтвердить транзакцию не выбрав всех данных из буфера, а значит и не подозревая что произошло исключение на сервере и какие-то операции были откачены, а с другой стороны непонятно на какой записи произошло исключение... -- Oleg .

