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

Вниз

Как из Delphi грамотно инициализировать атрибуты объекта Oracle??   Найти похожие ветки 

 
Maksim   (2003-08-13 12:50) [0]

Создан тип объектов в Oracle, есть процедура, принимающая такой тип как входной параметр. Надо инициировать эту процедуру из Delphi!!!
Или просто дайте ссылку на хороший FAQ или help по хранимым процедурам....
Заранее благодарен.


 
Reindeer Moss Eater ©   (2003-08-13 13:01) [1]

TStoredProcedure и его свойства


 
Maksim   (2003-08-13 13:06) [2]

Я подключаюсь к Oracle через DOA, а не BDE... :( поэтому TStoredProcedure - не пойдёть... :E


 
Reindeer Moss Eater ©   (2003-08-13 13:13) [3]

Ну так подобный класс в DOA используй.


 
lemaks ©   (2003-08-13 13:16) [4]

Какой, хотелсь бы узнать???? :)


 
roottim   (2003-08-13 13:25) [5]

пишешь в SQL
begin
myprocedure(:p1);
end;


вызываешЬ DataSet.execute;


 
Reindeer Moss Eater ©   (2003-08-13 13:25) [6]

У кого из нас DOA? У тебя или у меня?
Если нет аналога SP, то выполни след PLSQL блок с помощью любого компонента DOA позволяющего это

begin
stored_proc_name(:param1,:param2,...,:paramN);
end;


 
lemaks ©   (2003-08-13 13:29) [7]

begin
stored_proc_name(:param1,:param2,...,:paramN);
end;

вот этого и хотелось бы избежать
а нужно -
begin
stored_proc_name(:param1);
end;

где param1 например объект класса с большим колличеством полей


 
Reindeer Moss Eater ©   (2003-08-13 13:32) [8]

param1 у тебя будет экземпляром TParam Delphi.
Как бы сильно тебе ни хотелось другого.


 
lemaks ©   (2003-08-13 13:33) [9]

детально:
в DB описанна stored procedure которой в качестве параметра передается оракловсикий объект, хочу вызвать эту процедуру из Delphi и передать в качестве параметра дельфовский "объект-аналог"


 
roottim   (2003-08-13 13:34) [10]

declare
vMy TMyType;
begin
vMy.field1 := :p1;
vMy.field2 := :p2;
stored_proc_name(vMy);
end;


 
Reindeer Moss Eater ©   (2003-08-13 13:38) [11]

хочу вызвать эту процедуру из Delphi и передать в качестве параметра дельфовский "объект-аналог"

А в DOА есть классы, являющиеся этим аналогом?


 
lemaks ©   (2003-08-13 13:47) [12]

roottim Это в принципе понятно, а возможен ли вариант типа:
есть
T: class
{ куча полей}
end;

Заполняем поля экзмпляра T и передаем все это в Stored_proc

begin
stored_proc_name( {Экземпляр T} );
end;

Можно ли так сделать в принципе, а то полей просто куча и с ними гемороиться (передавать каждое отдельно как параметр) не охота....


 
Reindeer Moss Eater ©   (2003-08-13 13:48) [13]

Заполняем поля экзмпляра T и передаем все это в Stored_proc

В результате на сервер уйдет ровно 4 байта параметров.


 
roottim   (2003-08-13 13:48) [14]

> Можно ли так сделать в принципе
нет


 
lemaks ©   (2003-08-13 13:53) [15]

Ну это я, так , для примера ниписал, я понимаю что уйдет указатель,
но вопрос в другом - есть объект в Delphi и есть похожий (насколько позволяет соответствие типов) объект в Oracle. Как свойства первого передать последнему??? (не передавая каждое поле объкета Delphi каждому полю объекта Oracle отдельно)!!!!
Вот в чем вопрос!!!! :(


 
Reindeer Moss Eater ©   (2003-08-13 13:53) [16]

Никак! Вот в чем ответ.


 
lemaks ©   (2003-08-13 13:54) [17]

Блин, ну должен же быть механизм передачи объектов!!!!


 
Reindeer Moss Eater ©   (2003-08-13 13:58) [18]

Он есть. Телекинез и сверхсветовая сигнализация называется.


 
lemaks ©   (2003-08-13 13:58) [19]

:)


 
Reindeer Moss Eater ©   (2003-08-13 14:01) [20]

Передай блоб объекта (предварительно собрав его в непрерывный кусок памяти). А на сервере сделай разбор.
Делов-то.


 
lemaks ©   (2003-08-13 14:02) [21]

Это геммор покруче, чем с передачей каждого поля отдельно....


 
Reindeer Moss Eater ©   (2003-08-13 14:06) [22]

Не понимаю твоих страхов.
Передавать-то все равно машина будет, а не ты.
А она железная, геморрой ей не страшен.


 
lemaks ©   (2003-08-13 14:09) [23]

а писать попрограмму анализа переданного BLOB"а я буду!!!! вот и гемморой :)


 
Reindeer Moss Eater ©   (2003-08-13 14:50) [24]

Нет, я не понял почему геморрой передавать поля объекта по отдельности.


 
Shur ©   (2003-08-18 19:55) [25]

класс, можеш обратиться к Тому



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

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

Наверх




Память: 0.52 MB
Время: 0.026 c
3-24335
DBProger
2003-08-18 13:39
2003.09.08
Блокировка добавления/удаления записей в DBGrid


9-24292
Карлсон
2002-12-15 14:53
2003.09.08
GLScene


14-24666
wl
2003-08-20 10:34
2003.09.08
Странное поведение винчестера...(Win XP)


1-24434
Abikos
2003-08-25 18:48
2003.09.08
вопрос о Frame ах ....


1-24544
SH
2003-08-26 17:30
2003.09.08
Ассемблерные вставки