Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.08;
Скачать: CL | DM;

Вниз

Как прикрутить хранимую процедуру к программе....   Найти похожие ветки 

 
SkyR ©   (2002-07-16 10:22) [0]

Такой вопросец!
Сделал я хранимую процедуру. Она РАБОТАЕТ! Но не могу прикрутить ее к программе!
Я кидаю в Модуль Данных TIBStoredProc. Привязываю к нему TdataSource. В TIBQuery прописываю этот соурс. Запускаю запрос. Все ништяк!
Потом пытаюсь перед preview Qreport.
А он пишет типа запрос – пустой!
Как мне прикрутить ее?


 
Kaban ©   (2002-07-16 10:25) [1]

Я так понимаю, если ты ее хочешь прикрутить к QReport, то
хранимая процедура возвращает значения. Тогда просто в TQuery
Select * from SPName(:Param1,:Param2)


 
Desdechado ©   (2002-07-16 10:31) [2]

TStoredProc и TQuery происходят от одного предка, поэтому обычно не нужно их врубать каскадом, поскольку такое использование предназначено совсем для других целей (см. Help)


 
SkyR ©   (2002-07-17 01:52) [3]

Я так и делаю только:
select distinct * from svod_proc
А он, падла, выдает сообщение типа - запрос пустой!
Даже в Design-time!


 
kaif ©   (2002-07-17 02:32) [4]

>Я кидаю в Модуль Данных TIBStoredProc. Привязываю к нему >TdataSource. В TIBQuery прописываю этот соурс. Запускаю запрос. >Все ништяк!
Что ништяк? Как в TIBQuery прописывают этот соурс?
И черт побери, откуда еще сваливается на голову preview Qreport-а?
Может, граждане что-то понимают в твоем вопросе, но я - решительно ничего.
Мне так кажется, что QReport-у требуется только IBQuery и больше ничего. Надеюсь, ты не пытаешься наладить взаимодействие между отчетом и процедурой, не возвращающей набор данных и вызываемой исключительно через EXECUTE PROCEDURE? А для SELECT-процедуры, имеющей RETURNS, IBQuery - за глаза хватит. К тому же QReport по-моему работал прямо с DataSet, без всякого DataSource (хотя боюсь ошибиться). Только нужно не забыть его в свойстве DataSet репорта указать.


 
SkyR ©   (2002-07-17 06:36) [5]

В свойстве DataSource компонента IBQuery нужно прописать соурс IBStoredProc, если этого не сделать то пиши не пиши запрос не будет знать откуда брать данные. У меня процедура возвращает 4 поля! Все когда я 2 раза щелкнув на компоненте(IBQuery) добавляю в список в отделбном окне поля он эти поля правильно определяет 4 шт. Но потом если я пытаюсь свойство Active запроса поставить True, он мне пишет типа Empty Query. Хотя я прописал запрос в свойстве SQL затем все настроил как всегда при работе с запросом, только вместо таблицы IB использовал компонент IBStoredProc. По идеи не должно быть особой разницы.
preview Qreport-а для непонятливых нужен чтобы вывести на экран отчет!


 
SkyR ©   (2002-07-17 06:49) [6]

Получилось!!!!!
Просто не надо прописывать в IBQuery в свойстве DataSource ничего!!!

Но зато другой косяк! Виснет прога если пытаюсь вывести на экран отчет:
SvodRepForm.FormSvodRep.QuickRep1.Preview;
Кто нить знает почему?


 
Johnmen ©   (2002-07-17 09:55) [7]

Да-а-а-а-а-а....Случай тяжелый, но, надеюсь излечимый....:)

>SkyR © (17.07.02 06:49)

Если сможешь ответить на мой вопрос, то и на свой без проблем :
"У меня не работает комп ! В чем дело ?"


 
skyr ©   (2002-07-17 10:56) [8]

Все заработало не надо было просто прописывать в DataSource в IBQuery НИЧЕГО! Я и я сам немного протупил, а в остальном ВСЕМ кто помогал, и не очень, ОГРОМНОЕ спасибо !!!!!!


 
kaif ©   (2002-07-17 12:23) [9]

2 skyr © (17.07.02 10:56)
DataSource дословно значит "источник данных".
Однако IBQuery берет данные из базы данных, а не из DataSource. Свойство DataSorce нужно IBQuery, чтобы взять оттуда значения параметров для запроса и для управления из внешнего мира переоткрытием запроса в случае связей типа Master-Detail. В этих случаях в свойстве DataSource находится указатель на компонент типа TDataSource, связанный с главным набором (Master-ом), котрый может быть любым потомком TDataSet.



Страницы: 1 вся ветка

Текущий архив: 2002.08.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
1-24123
Nox
2002-07-26 19:28
2002.08.08
<<<Вопрос по canvas>>>


14-24207
^Sanya
2002-07-13 12:59
2002.08.08
EXE-шник в Delphi


1-24016
anod
2002-07-28 18:27
2002.08.08
Invalid pointer operation


3-23940
Dimedrol
2002-07-17 18:55
2002.08.08
Creating TRIGGER (FireBird, QuickDesk)


3-23882
RDA
2002-07-16 17:47
2002.08.08
Удаление дочерних узлов