Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MemableEh отложенные обновления / 8 сообщений из 8, страница 1 из 1
08.03.2019, 11:21
    #39783833
Алексаша
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MemableEh отложенные обновления
Здравствуйте.

Delphi 10.2
Ehlib 9

На форме есть мастер датасетs MasterMemeTableEh и DetailMemTableEh. Оба компонента в режиме "With Driver".
У обоих компонентов CachedUpdates := True

Ситуация: вставляю одну запись в MasterMemeTableEh и более одной записи в DetailMemTableEh
В датасете DetailMemTableEh поле DetailFieldsKey наполняется отрицательными значениями. Оно и понято ИД пока неизвестно ...

MasterMemeTableEh.ApplyUpdates(-1)
Уже известен МастерИД. Пробегаюсь по всем записям DetailMemTableEh меняю в поле DetailFieldsKey значение значением ИД правильным с сервера.
Пора сделать DetailMemTableEh.ApplyUpdates(-1) ... И вот в этом моменте вопрос. Выполняются инструкции поочередно кот. были сделаны т.е. инсерт с отрицательным значением в поле DetailFields а потом апдейт. Как сделать сразу инсерт с значениями кот. уже подправлены? Или может както подправить этот буфер инструкций ?
...
Рейтинг: 0 / 0
08.03.2019, 13:04
    #39783849
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MemableEh отложенные обновления
Что за датасеты (т.е. какая библиотека компонентов? SDAC и т.д.)?
...
Рейтинг: 0 / 0
08.03.2019, 14:59
    #39783868
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MemableEh отложенные обновления
P.S.

Я раньше тоже частенько использовал CachedUpdates (библиотека компонентов DOA) и в случае master-detail если не хотел дёргать секвенции, приходилось как и у вас вначале -1 заполнять, потом менять перед отправкой. И это при том, что DOA не отправляет все значения если CachedUpdates, а только последние.

Сегодня же я применяю такой подход: секвенции всегда дёргаю для генерации Primary Key'a, а если нужен счетчик увеличивающийся без пропусков, то завожу в таблице второе поле.

И чего то забил на CachedUpdates, просто ставлю теперь везде Датасет.CommitOnPost=false и либо делаю Commit в конце, либо Rollback.
...
Рейтинг: 0 / 0
09.03.2019, 09:52
    #39784019
Алексаша
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MemableEh отложенные обновления
Кроик Семён,

Библиотека Ehlib
...
Рейтинг: 0 / 0
09.03.2019, 13:42
    #39784052
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MemableEh отложенные обновления
Алексаша,

Мил человек, а почему бы тебе, непосредственно на их форуме об этом и не спросить?
http://forum.ehlib.com/ru/viewforum.php?f=4
...
Рейтинг: 0 / 0
09.03.2019, 20:49
    #39784149
энди
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MemableEh отложенные обновления
Неудобно наверное, мало того что "взял покататься", так еще и позвонить хозяину с просьбой объяснить почему хреново едет :)
...
Рейтинг: 0 / 0
09.03.2019, 21:01
    #39784159
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MemableEh отложенные обновления
энди,

Во-первых, погоди сразу плохо думать о человеке, а, потом, на сколько помню, на форуме у них, достаточно живом, так уж сразу про чеки и не спрашивают.))
...
Рейтинг: 0 / 0
10.03.2019, 17:28
    #39784287
Алексаша
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MemableEh отложенные обновления
Vlad F,

Там тоже задал. Но по опыту здесь быстрее отвечают :) Может кто сталкивался и есть решение ...
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MemableEh отложенные обновления / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]