Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 13:43   #1
funball
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 44
По умолчанию ADOStoredProc выполнение процедуры с параметрами

Добрый день.

Подскажите пжл. почему может не рабтать такая схема записи:
ADOStoredProc_addel_save.ProcedureN ame:='MSV_GIN_MONITOR.MSV_MON_UPDAT E_CFG_ROUTERS';
ADOStoredProc_addel_save.Parameters .ParamByName('p_rout_id').Value:=pp _rout_id;
ADOStoredProc_addel_save.Parameters .ParamByName('p_ipaddr').Value:=pp_ ipaddr;
ADOStoredProc_addel_save.Parameters .ParamByName('p_name').Value:=pp_na me;
ADOStoredProc_addel_save.Parameters .ParamByName('p_status').Value:=pp_ status;
ADOStoredProc_addel_save.Parameters .ParamByName('p_reg_cod').Value:=pp _reg_cod;
ADOStoredProc_addel_save.Parameters .ParamByName('p_cntry_cod').Value:= pp_cntry_cod;
ADOStoredProc_addel_save.ExecProc;

В ADOStoredProc_addel_save изначально пуста, т.е. без названия проц. и параметров. Может быть нужно каким-то образом эти параметры обозначить. Подскажите пжл. как? Процедура в пакете.
Ругается, что переменная 'p_rout_id' не найдена.
funball вне форума Ответить с цитированием
Старый 18.11.2009, 13:59   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

после присвоения имени процедуре написать это
Код:
ADOStoredProc_addel_save.Prepare;
а еще есть вероятность, что кто-то ткнул в св-вах ХП на параметры и они сохранились в дфм этого модуля - ХП при этом не будет даже на препейр подтягивать недавно добавленные параметры в ХП на стороне сервера (можно проверить так: кликнуть по форме "View as text" и поискать описание ХП - сохраненные параметры будет видно невооруженным глазом)
soleil@mmc вне форума Ответить с цитированием
Старый 18.11.2009, 14:57   #3
funball
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 44
По умолчанию

Цитата:
Сообщение от soleil@mmc Посмотреть сообщение
после присвоения имени процедуре написать это
Код:
ADOStoredProc_addel_save.Prepare;
а еще есть вероятность, что кто-то ткнул в св-вах ХП на параметры и они сохранились в дфм этого модуля - ХП при этом не будет даже на препейр подтягивать недавно добавленные параметры в ХП на стороне сервера (можно проверить так: кликнуть по форме "View as text" и поискать описание ХП - сохраненные параметры будет видно невооруженным глазом)
Вот все что прописано:
object ADOStoredProc_addel_save: TADOStoredProc
Connection = E
ProcedureName = 'MSV_GIN_MONITOR.MSV_MON_UPDATE_CFG _ROUTERS'
Parameters = <>
Left = 256
Top = 32
end

Строка ADOStoredProc_addel_save.Prepared после объявления названия проц. не помогла.
Я конечно могу сделать создав доп.объект хр. проц., но хочется по возможности обходиться одним(этот запускает еще 2 процедуры, правда без параметров(запускает успешно)). Может как обнулять можно все предыдущие параметры перед объявлением новых?
funball вне форума Ответить с цитированием
Старый 18.11.2009, 15:13   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

проверил - ок

Цитата:
Сообщение от funball Посмотреть сообщение
Может как обнулять можно все предыдущие параметры перед объявлением новых?
а обнулять можно так
Код:
procedure PrepareClear(Proc: TStoredProc);
var
  i: integer;
begin
  Proc.Prepare;
  for i := 0 to Proc.Params.Count - 1 do
    Proc.Params[i].Clear;
end;
а это очепятка в стартовом посте или так и написано реально?
Цитата:
Сообщение от funball Посмотреть сообщение
ve.ProcedureName:='MSV_GIN_MONITOR. MSV_MON_UPDATE_CFG_ROUTERS';
я про пробел в имени ХП

З.Ы.: и эттааа... пользуйся тегами. например, для кода есть такой CODE

Последний раз редактировалось soleil@mmc; 18.11.2009 в 15:15.
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как остановить процедуру ADOStoredProc с установленным ExecuteOptions:=[eoAsyncExecute]; Иванчо БД в Delphi 3 30.05.2012 13:43
программа с параметрами furstenberg Общие вопросы Delphi 2 07.06.2009 15:18
Проблема с ADOStoredProc Skazi21101 БД в Delphi 1 06.05.2009 14:19
Запуск процедуры из процедуры с дополнением 1sal1 Общие вопросы Delphi 3 06.10.2008 21:54
Выполнение хранимой процедуры с output параметром Иванчо БД в Delphi 5 26.10.2007 14:59