Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

динамическая база [D6, IB6.x]


:: Hamster :: ©   (2002-08-30 08:16:00) 

Значит вопрос такой:
Три машины - Склад, Касса, Сервер
база лежит на сервере.
При списании с "Кассы" в базе делаются изменения.
Как сделать сделать update на складе.
Т.е Автообновление..
На кассе в конец процедуры списания можно просто дописать
ibdatabase.applyupdates;
Но как получить энти изменения на складе ?!
Создать таймер и каждые 5 минут делать ibdatabase.close; ibdatabase.open;..пока нечего умнее я не нашёл..


int64   (2002-08-30 11:26:00) [1]

Я сделал обновление локальных данных по реакции на post_event. Также внял чужому совету и перестраховался таймером на клиенте, который раз в 10 сек. считывает флаги с сервера.
Так вот, за пол года эксплуатации БД, таймер ни разу не инициировал обновлений. :)


Alexandr   (2002-08-30 09:52:00) [2]

а какие могут быть действия? только переоткрыть таблицу...


-=Sergeante=-   (2002-08-30 09:38:00) [3]

Делается это с помощью сообщений. Н-р:

CREATE TRIGGER AU_SKLAD FOR SKLAD
ACTIVE AFTER UPDATE POSITION 0
as
begin
post_event "SKLAD_update";
end


Клиентское приложение принимает сообщение от сервери IB (компонент IBAlert кажется) и делает нужные действия.


Alexandr   (2002-08-30 08:39:00) [4]

примерно так и надо делать.
А вообще, надо на складе кнопку сделать "обновить позицию в справочнике".
Да еще и обновлять позицию каждый раз когда начинает работать с этой позицией.
Заметь, одну позицию, а не весь набор данных, поэтому это очень быстро будет.
Это refresh для IBX(с закладки Interbase)


Наверх

Титульная страница Поиск, карта сайта Написать письмо