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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.01.2012, 18:30   #1
yasic
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 44
По умолчанию Компонент TADOStoredProc. Несколько хранимых процедур.

Доброго времени суток! Подскажите пожалуйста, можно ли 1 компонентом TADOStoredProc выполнить несколько хранимых процедур? Как?
yasic вне форума
Старый 24.01.2012, 18:32   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Легко,
сначала выполняем 1,
потом вторую
потом третью..

Или пишем хранимую процедуру которая запускает все нужные нам хранимые процедуры, и заметьте тоже не одновременно, а последовательно. И запускаем её с помощью TADOStoredProc.

Последний раз редактировалось vovk; 24.01.2012 в 19:01.
vovk вне форума
Старый 24.01.2012, 18:39   #3
yasic
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 44
По умолчанию

Делаю вариант 1.
Первая хранимка выполняется отлично, вторая - "Cannot perform this operation on an open dataset". Если добавляю еще TADOStoredProc и привязываю ко второй ХП то работает.
Сообщение появляется при ADOStoredProc.ProcedureName
yasic вне форума
Старый 24.01.2012, 18:42   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Не надо меня пугать словами, напугайте кодом))
vovk вне форума
Старый 24.01.2012, 18:52   #5
yasic
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 44
По умолчанию

Код:
procedure TOptions.ComboFill(ProcName: string; const ACombo: TComboBox);
begin
with frmMain do begin
 with frmMain.ADOStoredProc do begin
    ProcedureName := WideString(ProcName);
    Prepared := True;
    Active := True;
    ExecProc;
 end;
 ADOStoredProc.First;
    while not ADOStoredProc.Eof do begin
      ACombo.Items.Add(Trim(ADOStoredProc.FieldByName('property').Text));
      ADOStoredProc.Next;
    end;
end;
end;
Если выполнилась ComboFill то LoadConf выдает ошибку
Код:
procedure TOptions.LoadConf(ProcName: string);
begin
with frmMain do begin
 with frmMain.ADOStoredProc do begin
     ProcedureName := WideString(ProcName); <- Вот здесь
     Active := True;
     Prepared := True;
     ExecProc;
 end;
..................................
yasic вне форума
Старый 24.01.2012, 18:58   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ну если процедура селективная , то я думаю что после выполнения ADOStoredProc надо закрывать как датасет

Код:
ADOStoredProc.close
, или

Код:
ADOStoredProc.active := false;
что одно и тоже.

ЗЫ кстати на это явно намекает ошибка
Цитата:
"Cannot perform this operation on an open dataset"
vovk вне форума
Старый 24.01.2012, 19:07   #7
yasic
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 44
По умолчанию

vovk Вы правы. Большое спасибо! Работает! Тему можно закрыть!
yasic вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько компонент в 1 + новые своиства ArtGrek Компоненты Delphi 7 19.02.2011 18:56
Несколько процедур сразу Progs1024 Паскаль, Turbo Pascal, PascalABC.NET 4 10.01.2010 15:27
Конвертор хранимых процедур dj-sphinx SQL, базы данных 3 20.10.2009 15:43
Несколько непонятных процедур в WebBrowser celovec Работа с сетью в Delphi 1 12.11.2008 16:01
[Pascal]Двусвязный кольцевой список, несколько процедур Fuaran8989 Фриланс 1 25.05.2008 20:22