TOraQuery и курсоры (функции)

Обсуждение возникших проблем, предложений и ошибок ODAC компонентов
Закрыто
avic
Сообщения: 2
Зарегистрирован: Ср 19 ноя 2014 07:28

TOraQuery и курсоры (функции)

Сообщение avic » Ср 19 ноя 2014 07:50

Добрый день.
Есть две функции, возвращающие наборы данных.
первая является "мастером" (даёт уникальные ID)
Вторая подчиненная.

Использую два TOraQuery.
Для мастера (Heats)

Код: Выделить всё

begin
  :RESULT := GET_HEAT_T(:D1, :D2);
end;
Для подчиненного (Scrap)

Код: Выделить всё

begin
  :RESULT := GET_SCRAP_T(:D1, :D2);
end;
Далее:

Код: Выделить всё

procedure TForm1.btnOpenClick(Sender: TObject);
begin
  Heat.ParamByName('D1').AsDateTime := ed1.Date;
  Heat.ParamByName('D2').AsDateTime := ed2.Date;
  SCRAP.ParamByName('D1').AsDateTime := ed1.Date;
  SCRAP.ParamByName('D2').AsDateTime := ed2.Date;
  Heat.DisableControls;
  if Heat.Active then Heat.Refresh else HEAT.Active := true;
  Heat.EnableControls;
  SCRAP.DisableControls;
  if Scrap.Active then Scrap.Refresh else Scrap.Active := true;
  Scrap.EnableControls;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ed1.Date := Now - 7;
  ed2.Date := Now;
  dsHeat.DataSet := HEAT;
  dsScrap.DataSet:= SCRAP;
  SCRAP.MasterSource := dsHeat;
  SCRAP.MasterFields := 'HEAT_ID';
  SCRAP.DetailFields := 'HEAT_ID';
end;
В результате, обе таблицы отображаются, а вот связи "мастер-подчиненный" нет.
поля HEAT_ID однотипные, целочисленные.

Если использовать простые SELECT (т.е. таблицы) то связка работает.
Куда копать?

avic
Сообщения: 2
Зарегистрирован: Ср 19 ноя 2014 07:28

Re: TOraQuery и курсоры (функции)

Сообщение avic » Ср 19 ноя 2014 10:00

Все, решил - надо было установить опцию LocalMasterDetail :D

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: TOraQuery и курсоры (функции)

Сообщение Alexp » Чт 20 ноя 2014 09:48

Добрый день,

Приятно видеть, что проблема решена. Если возникнут вопросы по использованию наших компонентов - обращайтесь.

Закрыто