|
|
|
Непонятки с FIBPlus
|
|||
|---|---|---|---|
|
#18+
Есть две таблички: 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"-полей при вставке. Это нормально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2003, 11:26 |
|
||
|
Непонятки с FIBPlus
|
|||
|---|---|---|---|
|
#18+
Попробуй использвать CommitRetaining - в большенстве случаев помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2003, 11:31 |
|
||
|
Непонятки с FIBPlus
|
|||
|---|---|---|---|
|
#18+
Логично предположить, что при использовании кеширования обноввлений данные в базу не записались, поэтому и соединение из другой таблицы пустое. может я ошибаюсь. Я кэшированием не пользуюсь и таких проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2003, 11:31 |
|
||
|
Непонятки с FIBPlus
|
|||
|---|---|---|---|
|
#18+
2 Dnico: CommitRetaining - не помогает. 2 Gold: >>Логично предположить, что при использовании кеширования обноввлений >>данные в базу не записались Данные как раз пишутся в базу все, но показываются в гриде только из основной таблички (ZAKAZ). Да действительно, включен AutoCommit, но даже если транзакцию прописывать вручную - результат тот же. И еще 2 Gold: >>Я кэшированием не пользуюсь и таких проблем нет. Как в таком случае обрабатывать прямое редактирование инфы в гриде (без вывода отдельной формочки и кнопки "ОК"(Commit) и т.п.). По переходу курсора что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2003, 11:57 |
|
||
|
Непонятки с FIBPlus
|
|||
|---|---|---|---|
|
#18+
Как правило после редактирования и перехода на следующую запись вызывается AfterPost, вот там и можно делать обработку. Единственное что мне не удавалось, это сохранять данные в ределах одной записи. Т.е. пока изменяешь колонки в текущей записи никакой обработки не происходит. Может конечно и есть что-то стандартное, но не видел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2003, 12:03 |
|
||
|
Непонятки с FIBPlus
|
|||
|---|---|---|---|
|
#18+
2 Dnico: >>Как правило после редактирования и перехода на следующую запись >>вызывается AfterPost А некоторые пользователи могут без перехода на другую запись и из программы выйти, и вообще питание отключить и мало что еще... Тогда в принципе и отдельная форма не поможет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2003, 12:16 |
|
||
|
Непонятки с FIBPlus
|
|||
|---|---|---|---|
|
#18+
>Как в таком случае обрабатывать прямое редактирование инфы в гриде (без >вывода отдельной формочки и кнопки "ОК"(Commit) и т.п.). По переходу >курсора что ли? А я, к стати, очень часто пользуюсь формочками, за редким исключением (всякие кассирские проги), ибо в формачках, как по мне, удобнее редактировать, они модальные и позволяют сделать мощную проверку на правильность вводимых данных. Хотя это дело вкуса. А про то, как сделать без формочек - тебе выше ответили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2003, 12:17 |
|
||
|
Непонятки с FIBPlus
|
|||
|---|---|---|---|
|
#18+
Есть еще один вариант - пописать OnChange на полях или колонках, но это явно замедлит работу с базой. P.S. AfterPost всегда вызывается при закрытии формы, если открыт Edit или Insert. Так что в случае нормального закрытия окна - данные будут сохранены. А вот "кувалдой по системному блоку" - тут надо свой обработчик писать !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2003, 12:44 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32200668&tid=1580285]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
264ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 581ms |

| 0 / 0 |
