Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.007 c
14-28209
Gritzan
2002-11-17 03:59
2002.12.09
Проблемы с функцие Blockread


1-27946
Кокандокало
2002-11-29 12:05
2002.12.09
Exceptions и SocketError


3-27801
Serg_zxcvbnm
2002-11-22 11:46
2002.12.09
синхронизация данных у пользователей


14-28250
V-A-V
2002-11-18 11:06
2002.12.09
Написание хелпов


3-27869
hawk1974
2002-11-21 10:58
2002.12.09
BDE и Oracle 8.1.6.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский