![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызов хранимой процедуры из 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 ?