Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
ВнизКак из 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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.009 c