Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.09;
Скачать: CL | DM;

Вниз

Обновление данных в програме.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
3-27909
Oleon
2002-11-22 10:45
2002.12.09
Шаблоны платежных документов


7-28319
max2057
2002-10-09 17:08
2002.12.09
проигрование нот с заданным BPM


3-27906
zks
2002-11-19 04:17
2002.12.09
Интересное явление со вставкой записи в MSSQL7


1-27985
Начинающий делфер
2002-11-29 17:19
2002.12.09
Как запустить?


14-28238
Anatoly Podgoretsky
2002-11-18 00:26
2002.12.09
Именинники 18 ноября