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

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

Подскажите с OraQuery [D6]


Страницы:   1 2

Raven ©   (2003-09-11 15:12:00) 

КАК запустить хранимую процедуру из OraQuery (использую компоненты ODAC).


roottim   (2003-09-12 08:28:00) [1]


> такой код в Fast-e не прокатит

естестенно такой не покатит, но ведь у меня нет исходников на фрОДАК
я смотрел реализацию фрДОА.
св-ва params, SQL и ExecSQL там зарегистрированы...
а что есть в его компонентах.. хз.. могу толькоп редполагать..

2Raven
либо реализация фрОДАК у вас кривая (помоему она не входит в пак_адд_он, видимо нетестирования самопальная), либо...


Raven   (2003-09-11 16:59:00) [2]

ХРАНИМАЯ ПРОЦЕДУ РАБОТАЕТ НОРМАЛЬНО ПРОВЕРЯЛ В ЖАБЕ(TOAD)


Vlad   (2003-09-11 16:44:00) [3]

Да едрён батон !
>Вроде бы запрос выполняет но в конце выдает ошибку
>SQL statement doesn`t return rows.
Твои слова ? Запрос значит выполняет все таки ? Т.е. хранимка отрабатывает ?
Если да то
try
ExecSql;
except
end;
Кстати, если это Оракл тебе возращает такую ошибку (во что я слабо верю), значит ищи баг в хранимой процедуре ! ИМХО, где-то NO_DATA_FOUND закралось.


slgeo   (2003-09-11 16:44:00) [4]

to roottim
такой код в Fast-e не прокатит


Raven   (2003-09-11 16:43:00) [5]

Reinder

Похоже только так =(


roottim   (2003-09-11 16:42:00) [6]

это не код delphi а скрипт на батоне FR Dialog


roottim   (2003-09-11 16:39:00) [7]


> ХРАНИМАЯ ПРОЦЕДУРА ПРОИЗВОДИТ СЛОЖНУЮ ОБРАБОТКУ ДАННЫЕ ИЗ
> РАЗНЫХ ТАБЛИЦ, ЧТО НЕЛЬЗЯ СДЕЛАТЬ SQL ЗАПРОСАМИ, И ЗАПОЛНЯЕТ
> НЕКОТОРУЮ ВРЕМЕННУЮ ТАБЛИЦУ....
> МНЕ НУЖНЫ ДАННЫЕ ИЗ ЭТО ТАБЛИЦЫ ДЛЯ СОСТАВЛЕНИЯ ОТЧЕТА

вот эти слова должны первые посте стоять... откуда мне то знать чего твоя процедура делает...

ну незнаю на диалоге на батон вешай обработчик
begin
q1.SQL.Text := "begin MYPROCE(:P1, :P2); COMMIT; end;"
// это твои входные параметы IN
q1.ParamByName("P1").AsString := "T";
q1.ParamByName("P2").AsInteger := 12;
q1.ExecSql;
end;


и что ничего не работает ??


Reindeer Moss Eater   (2003-09-11 16:38:00) [8]

Перед выполнением отчета выполняем sp не средствами FastReport.
В FastReport читаем данные из уже готовой таблицы.


Raven   (2003-09-11 16:38:00) [9]

ПРОСЬБА ТЕМ КТО НЕ РАБОТАЛ В FASTREPORT НЕ СОВЕТОВАТЬ ТАК КАК НЕ ПОЙМУТ


Raven   (2003-09-11 16:37:00) [10]

ВЛАД
МНЕ ВЫДАЕТ ПРЕДУПРЕЖДЕНИЕ НЕ DELPHI А ORACLE


Raven   (2003-09-11 16:34:00) [11]

ROTTIM

ХРАНИМАЯ ПРОЦЕДУРА ПРОИЗВОДИТ СЛОЖНУЮ ОБРАБОТКУ ДАННЫЕ ИЗ РАЗНЫХ ТАБЛИЦ, ЧТО НЕЛЬЗЯ СДЕЛАТЬ SQL ЗАПРОСАМИ, И ЗАПОЛНЯЕТ НЕКОТОРУЮ ВРЕМЕННУЮ ТАБЛИЦУ....
МНЕ НУЖНЫ ДАННЫЕ ИЗ ЭТО ТАБЛИЦЫ ДЛЯ СОСТАВЛЕНИЯ ОТЧЕТА


Vlad   (2003-09-11 16:32:00) [12]

Чего ты творишь ?
В дельфи на ExecSql обкладывай try except !


Raven   (2003-09-11 16:30:00) [13]

BEGIN
MY_PROCEDURE(...)
EXCEPTION
WHEN OTHERS THEN
NULL;
END;

НЕ ПРОКАТЫВАЕТ =(


roottim   (2003-09-11 16:22:00) [14]

я так пологаю на OnPrint некого элемента FR вешается обработчик для получения неких данных через ODAC для их дальнейшего изображения.
пусть у тебя будет
TfrODACQuery c именем .Name := "q1";

на OnPrint элемениа

begin
q1.SQL.Text := "begin MYPROCE(:P1, :P2, :RESULT1, :RESULT2); end;"
// это твои входные параметы IN
q1.ParamByName("P1").AsString := "T";
q1.ParamByName("P2").AsInteger := 12;
q1.ExecSql;
// это твои выходные данные
a := q1.ParamByName("RESULT1").AsInteger;
b := q1.ParamByName("RESULT2").AsString;
// а дальше незнаю что ты хочеш с ними делать
// например
memo1.Text := b;
end;


так предпологаю я...
а еслиб вы мне их закинули на roottim@electro.tchercom.ru,
я бы сказал точнее :), если не жалко конечно...
хотя эти fr интересно зависят от моих ODAC, или нет...
если независят то какая верси ODAC использовалась для внедрения в FR компоненты


Vlad   (2003-09-11 16:16:00) [15]

>slgeo (11.09.03 16:15) [21]
try except для чего изобрели ?


slgeo   (2003-09-11 16:15:00) [16]

Вы предлагаете исходники компонента переписать?


Vlad   (2003-09-11 16:14:00) [17]

Вот и я говорю. Во всех нормальных Query такое возможно.
Один только ODAC решил выпендриться с проверкой возвращаемых строк. ИМХО, надо гасить !


DT   (2003-09-11 16:13:00) [18]

наверное, в процедуре д.б. выходной пар-р типа cursor


Reindeer Moss Eater   (2003-09-11 16:11:00) [19]

Ну и "гаси" этот эксепшен.


Raven   (2003-09-11 16:10:00) [20]

УГУ


Страницы:   1 2

Наверх

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