Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хранимая процедура [D7, XP]


slay64 ©   (2010-04-30 14:12:00) 

Всем добрый день!
Вопрос такой - написал хранимую процедуру в InterBase, на сервере все выполняется, а в приложении не могу вывести данные в компонент DBGrid.
В приложении использую компоненты по работе с InterBase.


Правильный$Вася   (2010-04-30 22:49:00) [1]


> Заработала процедура при использовании компонента IBQuery,
>  но данные почему -то не обновляются

где не обновляются - в БД или в гриде?


turbouser   (2010-04-30 21:54:00) [2]


> oldman ©   (30.04.10 15:49) [7]


> Прямо вот так и пишет?
> Приведи оригинал сообщения, пожалуйста.

Вполне возможно.. Я давно уже с ibx (тем более D7) дел не имел, но на сайте Кузьменко есть упомининие о том, что IBStoredProc вызывает всегда execute..


oldman   (2010-04-30 15:49:00) [3]


> при использовании компонента IBStoredProc используется метод
> ExecProc, а Open используется в компоненте IBQuery


Прямо вот так и пишет?
Приведи оригинал сообщения, пожалуйста.


slay64   (2010-04-30 15:26:00) [4]


> Какую?

что при использовании компонента IBStoredProc используется метод ExecProc, а
Open используется в компоненте IBQuery


turbouser   (2010-04-30 15:15:00) [5]


> slay64 ©   (30.04.10 14:57) [4]
>
>


> На Open при использовании компонента IBStoredProc как раз
> и выдает ошибку...

Какую?


slay64   (2010-04-30 14:57:00) [6]


> Для селективных процедур предназначен метод Open, а не ExecProc

На Open при использовании компонента IBStoredProc как раз и выдает ошибку...
Заработала процедура при использовании компонента IBQuery, но данные почему -то не обновляются


Сергей М.   (2010-04-30 14:32:00) [7]


> где тут ошибка?


В ExecProc.

Для селективных процедур предназначен метод Open, а не ExecProc


slay64   (2010-04-30 14:20:00) [8]

Вот процедура:
CREATE OR ALTER procedure LAST_REGISTER_QUERY (
   DATA_REG timestamp)
returns (
   ID_EMP_QUERY integer,
   DATA_QUERY_REG timestamp)
as
begin
 /* Procedure Text */
 for select rq.id_emp, rq.date_qry from register_query rq where rq.date_qry > :data_reg
 into :id_emp_query, :data_query_reg
 do
 suspend;
end

а вот текст из прораммы:

FMain.IBStoredProc1.UnPrepare;
FMain.IBStoredProc1.ParamByName('DATA_REG').Value := StrToDateTime('30.04.2010 11:30:00');
FMain.IBStoredProc1.Prepare;
FMain.IBStoredProc1.ExecProc;
где тут ошибка?


Ega23   (2010-04-30 14:14:00) [9]

У вас ошибка в программе.


Наверх

Титульная страница Поиск, карта сайта Написать письмо