ZEOS: работает ли ZStoredProc вообще?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
victorgugo
новенький
Сообщения: 17
Зарегистрирован: 04.03.2009 02:11:20

ZEOS: работает ли ZStoredProc вообще?

Сообщение victorgugo »

Здравствуйте!
Успешно использую компоненты ZEOSDBO-6.6.4 для доступа к БД на MySQL (mysql-5.0.77-win32).
Версии: Lazarus-0.9.24, fpc-2.2.0-20071114-win32

Zquery и Ztable работают безупречно, а вот ZStoredProc - нет!

На сервере MySQL есть процедура! Из консоли - call ADD_DE(); - работает. В лазарусе пробую так:

...
zstoredproc1.StoredProcName:='ADD_DE';
zstoredproc1.Open;
...

Компилируется, но при запуске ошибка:
Project raised exception EZSQLException
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

victorgugo
А не пробовал делать zstoredproc1.ExecProc?
victorgugo
новенький
Сообщения: 17
Зарегистрирован: 04.03.2009 02:11:20

Сообщение victorgugo »

пробовал - тоже самое!

Добавлено спустя 8 минут 19 секунд:
тем более, что в процедуре SELECT-запрос и она возвращает набор данных.
Следовательно ExecProc нельзя использовать!

Кстати в Delphi пример работает, но не на зеосе, а на MyDAC
victorgugo
новенький
Сообщения: 17
Зарегистрирован: 04.03.2009 02:11:20

Сообщение victorgugo »

ZStoredProc - нерабочий!
Для тех кому интересно можно воспользоваться вариантом:

Код: Выделить всё

zquery1.Close;
  zquery1.SQL.Clear;
  zquery1.SQL.Add('call ADD_DE();');
  zquery1.ExecSQL;


Это если только процедура не возвращает набор данных!
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Код: Выделить всё

...call ADD_DE();...

Что это у вас за диалект SQL такой? :wink:
victorgugo
новенький
Сообщения: 17
Зарегистрирован: 04.03.2009 02:11:20

Сообщение victorgugo »

ADD_DE() - имя процедуры! а что так называть процедуры запрещено законом :) ?
Ответить