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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2011, 12:24   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Выполнение хранимой процедуры на сервере через ADO

Добрый день! Всех с праздником. Буду краток и по делу.
Условие: есть сервер DB2 с хранимой процедурой FROM_STRAH(cOGRN), где cOGRN символьная переменная значения OGRN.
Задача: установить соединение с сервером посредством подключения через ADO, передать параметр (некое число) в параметр сOGRN хранимой процедуры и выполнить ее программно.
Вообщем, через ADOConnection1 я подключился к серверу, коннект заработал, нашел в списке хранимую процедуру. Не могу передать программно параметр в хранимую процедуру.

На форму кинул ADOStoredProcedure1 (sp1), DataSource (ds), ADOConnection1 (con1). Связал их. Таким кодом пытаюсь использовать эту процедуру:
Код:
procedure TForm2.btn6Click(Sender: TObject);
begin
  Form2.sp1.Close;
  Form2.sp1.ProcedureName:='PRG.FROM_STH(cOGRN=:O)';
  Form2.sp1.Parameters.ParamByName('O').Value:='308381831200010';
  Form2.sp1.ExecProc;
end;
Так не работает. Указывал явно:
Код:
procedure TForm2.btn6Click(Sender: TObject);
begin
  Form2.sp1.Close;
  Form2.sp1.ProcedureName:='PRG.FROM_STH(cOGRN)';
  Form2.sp1.Parameters.ParamByName('сOGRN').Value:='308381831200010';
  Form2.sp1.ExecProc;
end;
тоже не работает. Выдает ошибки. Их смысл точный не помню, т.к. дома нет возможности проверить, только на работе. Вообщем, вопрос в следуюшем:
как выполнить программно хранимую процедуру на сервере DB2, используя подключение через ADO?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.05.2011, 12:54   #2
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Не надо при присвоении имени указывать параметр.
Цитата:
Form2.sp1.ProcedureName:='PRG.FROM_ STH';
Form2.sp1.Parameters.ParamByName('с OGRN').Value:='308381831200010';
ReportCube вне форума Ответить с цитированием
Старый 09.05.2011, 13:50   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А в том случае, если будет несколько параметров, то их тоже не надо указывать?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.05.2011, 20:05   #4
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Не надо указывать параметры, надо просто присвоить им значения.
ReportCube вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка 1064 при создании хранимой процедуры Grind SQL, базы данных 0 03.02.2010 00:00
Результат Хранимой процедуры в INterBase Etlau Помощь студентам 0 28.12.2009 17:38
Возврат нескольких полей из хранимой процедуры (Firеbird) Антон Ю.Б. SQL, базы данных 3 08.07.2009 08:33
Выполнение хранимой прцедуры? Andre1723 БД в Delphi 14 03.06.2009 11:03
Выполнение хранимой процедуры с output параметром Иванчо БД в Delphi 5 26.10.2007 14:59