Форум: "Базы";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
ВнизОбновление данных в програме. Найти похожие ветки
← →
Alexsandr (GEG) (2002-11-20 09:32) [0]Как доброволно принудительно заставить программу обновить данные из базы.
Суть проблемы: две или более программы работают с одной базой.
ПРи оформление нового заказа выбираеться максимальное число (из номеров заказа). Но вслучае одновременой работе получаеться два заказа с одним номером.(через IBQuery идет запрос "select max("cod") from "szak").
Мы люди не местные но от совета не откажемся..
← →
Евгений__ (2002-11-20 09:35) [1]Для таких вещей надо использовать генераторы. Создаете генератор, затем выбираете его значение из программы. Генераторы работают вне контекста транзакций.
← →
Alexsandr (GEG) (2002-11-20 09:40) [2]Генератор есть .Но мне нужет именно последний номер заказа.
а этот гад насколко я понимаю при запросе проверяет по кешу.
В том то и состоит вопрос что нужно обновить его.
На сервере номер меняеться (при внисение заказа из другой програмы) а у меня в рабочей программе нет.
← →
Alexsandr (GEG) (2002-11-20 10:00) [3]Ладно всем спасибо за активное участие.
Проблему решил спомощю IBTransaction2 к которому отдельно от всех подключил IBQuery.
← →
Наталия (2002-11-20 10:02) [4]Так если есть генератор, то и бери его значение - искать максимальный номер запросом в корне неверный подход.
← →
Sergey13 (2002-11-20 11:37) [5]2Alexsandr (GEG) (20.11.02 09:32)
>Наталия © (20.11.02 10:02)
>Так если есть генератор, то и бери его значение - искать максимальный номер запросом в корне неверный подход.
И да и нет одновременно. Тут просто не надо путать код и номер документа - это должны быть разные поля. Код может быть от балды любой, главное чтоб не повторялся и не менялся НИКОГДА. А вот номер (почти всегда) ДОЛЖЕН возрастать последовательно и без дыр. Тут выход, ИМХО, один - повесить уникальность на номер(может в купе еще с чем то, годом например) и при возникновении ексепшена при инсерте перечитывать max(nomer) и повторять.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c