powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Непонятки с FIBPlus
8 сообщений из 8, страница 1 из 1
Непонятки с FIBPlus
    #32200627
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две таблички: ZAKAZ и DILER.
Запрос Select:
SELECT * FROM ZAKAZ
LEFT JOIN DILER ON (ZAKAZ.IDDILER = DILER.ID)
Запрос Refresh:
SELECT * FROM ZAKAZ
LEFT JOIN DILER ON (ZAKAZ.IDDILER = DILER.ID)
WHERE ZAKAZ.ID=?OLD_ID

В общем вроде все нормально... При добавлении в ZAKAZ, прописывается IDDILER и еще несколько полей. Делается ApplyUpdates. Все поля нормальные, а присоединенные по JOIN - пустые.
Табличка показывается нормально только после переоткрытия таблички, сортировка естественно пропадает (EhLib), что не очень хорошо.

Сейчас это решается с помощью явного присваивания значений в FIBDataSet "join"-полей при вставке.

Это нормально?
...
Рейтинг: 0 / 0
Непонятки с FIBPlus
    #32200635
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй использвать CommitRetaining - в большенстве случаев помогает.
...
Рейтинг: 0 / 0
Непонятки с FIBPlus
    #32200636
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Логично предположить, что при использовании кеширования обноввлений данные в базу не записались, поэтому и соединение из другой таблицы пустое. может я ошибаюсь. Я кэшированием не пользуюсь и таких проблем нет.
...
Рейтинг: 0 / 0
Непонятки с FIBPlus
    #32200668
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dnico:
CommitRetaining - не помогает.

2 Gold:
>>Логично предположить, что при использовании кеширования обноввлений >>данные в базу не записались
Данные как раз пишутся в базу все, но показываются в гриде только из основной таблички (ZAKAZ).
Да действительно, включен AutoCommit, но даже если транзакцию прописывать вручную - результат тот же.

И еще 2 Gold:
>>Я кэшированием не пользуюсь и таких проблем нет.
Как в таком случае обрабатывать прямое редактирование инфы в гриде (без вывода отдельной формочки и кнопки "ОК"(Commit) и т.п.). По переходу курсора что ли?
...
Рейтинг: 0 / 0
Непонятки с FIBPlus
    #32200678
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правило после редактирования и перехода на следующую запись вызывается AfterPost, вот там и можно делать обработку. Единственное что мне не удавалось, это сохранять данные в ределах одной записи. Т.е. пока изменяешь колонки в текущей записи никакой обработки не происходит. Может конечно и есть что-то стандартное, но не видел.
...
Рейтинг: 0 / 0
Непонятки с FIBPlus
    #32200709
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dnico:
>>Как правило после редактирования и перехода на следующую запись >>вызывается AfterPost
А некоторые пользователи могут без перехода на другую запись и из программы выйти, и вообще питание отключить и мало что еще... Тогда в принципе и отдельная форма не поможет...
...
Рейтинг: 0 / 0
Непонятки с FIBPlus
    #32200714
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Как в таком случае обрабатывать прямое редактирование инфы в гриде (без
>вывода отдельной формочки и кнопки "ОК"(Commit) и т.п.). По переходу
>курсора что ли?

А я, к стати, очень часто пользуюсь формочками, за редким исключением (всякие кассирские проги), ибо в формачках, как по мне, удобнее редактировать, они модальные и позволяют сделать мощную проверку на правильность вводимых данных. Хотя это дело вкуса.
А про то, как сделать без формочек - тебе выше ответили.
...
Рейтинг: 0 / 0
Непонятки с FIBPlus
    #32200768
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще один вариант - пописать OnChange на полях или колонках, но это явно замедлит работу с базой.

P.S. AfterPost всегда вызывается при закрытии формы, если открыт Edit или Insert. Так что в случае нормального закрытия окна - данные будут сохранены. А вот "кувалдой по системному блоку" - тут надо свой обработчик писать !!!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Непонятки с FIBPlus
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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