Zeoslib: Как определить, когда выполнение запроса завершено? - PullRequest
3 голосов
/ 04 сентября 2011

Я использую ZeosLib в Delphi для вызова хранимой процедуры MySQL через объект TZQuery. Сразу после того, как MySQL завершает выполнение хранимой процедуры, мне нужно инициировать мой следующий блок кода.

Я добавил оператор SELECT 1; в конце моей хранимой процедуры MySQL. Каков наилучший способ узнать, что результаты были возвращены?

1 Ответ

2 голосов
/ 04 сентября 2011

Zeos lib плохо работает с хранимыми процедурами, которые возвращают набор результатов.
Он активно отключает возвращенный набор результатов.
Для этого есть обходной путь, вы можете активировать набор результатов, изменив исходный код ZEOS.

Однако, когда вы делаете это, вы получаете много ошибок, таких как MySQL has gone away.
В непредсказуемое время, и, вероятно, именно поэтому они отключили эту опцию в первую очередь.

ВЗавершить обходной путь, к которому я прибег, - это поместить любой нужный мне набор результатов во (временную) таблицу и выполнить запрос после завершения хранимой процедуры.Это решило ошибки и хорошо работает для меня.

...