Как временно заблокировать связь Master-Detail

Обсуждение возникших проблем, предложений и ошибок SDAC компонентов
Ответить
vso
Сообщения: 39
Зарегистрирован: Чт 24 янв 2013 11:08

Как временно заблокировать связь Master-Detail

Сообщение vso » Чт 21 мар 2013 07:40

Добрый день!

есть такой код

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

    fMain.MSConnection.StartTransaction;
    if dsTypeLink.State = dsInsert then
      QslTypeLink.Post;
    if QslListTerminal.UpdatesPending then
      QslListTerminal.ApplyUpdates;
    fMain.MSConnection.Commit;
  except
    fMain.MSConnection.Rollback;
  end;
где dsTypeLink это Master, а QslListTerminal это Detail.

Когда начинает работать код, то dsTypeLink.State = dsInsert, QslListTerminal.UpdatesPending = true.

Но стоить выполнить QslTypeLink.Post; как QslListTerminal.UpdatesPending = false.

Подскажите как решить эту проблему?

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Re: Как временно заблокировать связь Master-Detail

Сообщение AndreyZ » Чт 21 мар 2013 09:39

Здравствуйте,

Режим CachedUpdates может использоваться для detail датасетов только при включенной опции LocalMasterDetail. Вы можете найти информацию об этом в описании свойства CachedUpdates в документации SDAC. Для решения проблемы, установите свойство LocalMasterDetail detail датасета (в Вашем случае QslListTerminal) в True.

Ответить