SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 25.08.2011 16:19:26

Lem0nti
Гуру
Откуда: Северная Пальмира
Зарегистрирован: 08.11.2007
Сообщений: 98

Ошибка при использовании OUT параметров

Есть процедура:

CREATE PROCEDURE `spReplenishment`(IN AID_Creator INTEGER(11), IN AID_Receiver INTEGER(11), IN ATry_Sum FLOAT, OUT ARes INTEGER(11))
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN
  if ..... then
    .....
        set ARes=0;
  ELSE
    ....
    set ARes=2;
  end if;
END;

При её вызове из delphi 2010 генерится следующее исключение:
OUT or INOUT argument 4 for routine payment.spReplenishment is not a variable or NEW pseudo-variable in BEFORE trigger.

Подскажите, пожалуйста, что это значит и как использовать out-параметры правильно?

Неактивен

 

#2 25.08.2011 20:22:09

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Ошибка при использовании OUT параметров

Дельфи2010 не щупал. В старой дельфе (7, кажется) нужно было к каждому
параметру процедуры прицеплять свою переменную через свойства объекта.
Есть ощущение, что надо рыть где-то в этом направлении.

Неактивен

 

#3 26.08.2011 15:35:53

Lem0nti
Гуру
Откуда: Северная Пальмира
Зарегистрирован: 08.11.2007
Сообщений: 98

Re: Ошибка при использовании OUT параметров

Поясните, пожалуйста, что вы подразумеваете под переменной в свойствах объекта?

Неактивен

 

#4 26.08.2011 17:39:33

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Ошибка при использовании OUT параметров

В Object Inspector нужно нажать на «…» возле какого-то свойства
типа «parameters». Откроется окошко, в котором можно вписать
список параметров. Не важно, что там будет, главное, чтобы список
был актуальным (т.е. были все переменные и правильно проставля-
лись in-out).

Не ultimate solution, т.к. говорю по памяти smile

Неактивен

 

#5 28.08.2011 00:54:17

Lem0nti
Гуру
Откуда: Северная Пальмира
Зарегистрирован: 08.11.2007
Сообщений: 98

Re: Ошибка при использовании OUT параметров

Так было сделано, без этого процедура вызываемая компонентом TADOStoredProc не отработает.
В общем, если решение в этом направлении, то минимум с подвохом.
Да, забыл упомянуть - используются не специальные компоненты, а АДО.

Неактивен

 

#6 29.08.2011 16:00:16

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Ошибка при использовании OUT параметров

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson