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

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

Вызов хранимой процедуры из FastReport


fast ©   (2010-08-25 09:45:00) 

Доброго дня! Подскажите, как вызвать хранимую процедуру из FatReporta?

Сервер БД - Оракл, код в fastreport - pascal

делаю вызов так :

procedure Button1OnClick(Sender: TfrxComponent);
 
var s1,s2,s:string;
timeobr: date;

   
begin
s1:=DateTimeToStr(DateEdit1.datetime);
s2:=DateTimeToStr(DateEdit2.datetime);
timeobr:=now;                            
 
    s:='   times_in (to_date('''+'20.08.2010 00:00:00'''+','+'''dd.mm.yyyy HH24:MI:SS'''+'),';        
    s:=s+' to_date('''+'23.08.2010 23:59:59'''+','+'''dd.mm.yyyy HH24:MI:SS'''+'),null, to_date('''+'23.08.2010 23:59:59'''+','+'''dd.mm.yyyy HH24:MI:SS'''+') )';
       
   DOAQuery1.SQL.Text:=s;
   DOAQuery1.ExecSQL;
 
 
           
   
DialogPage1.ModalResult:=mrOK;
 
end;

Получаю ошибку Run Time Error ! ora-00900: invalid SQL statement


fast   (2010-08-25 11:30:00) [1]


> begin и end; прощелканы.

ура!!! пошла работа! я не знала, что ее так стоит вызывать, специально begin-end убирала


Petr V. Abramov   (2010-08-25 11:20:00) [2]

s:='   times_in (to_date('''+'20.08.2010 00:00:00'''+','+'''dd.mm.yyyy HH24:MI:SS'''+'),';        
   s:=s+' to_date('''+'23.08.2010 23:59:59'''+','+'''dd.mm.yyyy HH24:MI:SS'''+'),null, to_date('''+'23.08.2010 23:59:59'''+','+'''dd.mm.yyyy HH24:MI:SS'''+') )';

begin и end; прощелканы.
с кавычками и скобками не разбирался


fast   (2010-08-25 11:02:00) [3]

Дайте кто-нибудь пример вызова хранимых процедур из fastreporta, может так мне проще будет найти ошибку


fast   (2010-08-25 10:58:00) [4]


> возможно, просто действительно ошибка в конструируемом тексте.
> . выведи его на экран и уже потом анализируй, нет ли там
> ошибки

так и  делаю. выводу значение s в мемо, затем экспортирую в текстовый файл. в нем  получаю
   times_in(to_date('20.08.2010 00:00:00','dd.mm.yyyy HH24:MI:SS'), to_date('23.08.2010
 23:59:59','dd.mm.yyyy HH24:MI:SS'),null, to_date('23.08.2010 23:59:59','dd.mm.yyyy HH24:MI:SS') )
\xC

копирую результат в девелопер, оттуда запускается


fast   (2010-08-25 10:57:00) [5]

сама процедура заполняет таблицу, права на таблицу, (insert select) и  права на вызов процедуры даны всем пользователям.


Виталий Панасенко(дом)   (2010-08-25 10:55:00) [6]

возможно, просто действительно ошибка в конструируемом тексте.. выведи его на экран и уже потом анализируй, нет ли там ошибки


fast   (2010-08-25 10:38:00) [7]

под делфи проверить не могу, если вызываю  процедуру из pl\sql developera
begin

times_in(to_date('20.08.2010 00:00:00','dd.mm.yyyy HH24:MI:SS'), to_date('23.08.2010 23:59:59','dd.mm.yyyy HH24:MI:SS'),null, to_date('23.08.2010 23:59:59','dd.mm.yyyy HH24:MI:SS') );
end;

то она отрабатывает отлично


stas   (2010-08-25 10:17:00) [8]

а если этот же запрос вызвать из delphi ?


Наверх

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