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

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

Синхронизация изменений в данных [D7, ADO]


Yrtimd ©   (2004-08-26 11:47:00) 

Пользую ADO. (MS JET OLE DB Prov) Так вот. Как сделать, чтобы в двух независимых приложениях данные, отображаемые в таблицах синхроннизировались в момент изменения не только у того приложения, кто их изменяет но и утого кто их просто читает?

Заранее Спасибо ;)


AndB   (2004-08-27 10:28:00) [1]

ну зваеди табличку "last_update" в которой из любой формы, производящей update, меняй поле TDateTime, и храни этот datetime (личный) во всех аппликациях, и проверяй по таймеру if (me_last_update) <> last_update[0] then релоад(рефреш, close/open) my_data_set... примерно.


Digitman   (2004-08-27 09:02:00) [2]


> необходимо в реальном времени иметь актуаьные данные


если ты такой упрямый, делай апп-сервер, который будет извещать  клиентов о произошедших таких-то изменениях в таких-то позициях таких-то справочников/документов .. клиент, получивший такое извещение, рестартует читающую транзакцию, переоткрывает соответствующий НД и самостоятельно визуализирует  изменения


Yrtimd   (2004-08-26 18:13:00) [3]

Спасибо. Послать-то проще всего.
Вопросы у меня не "дурацкие", а несколько абстрактные.
Ответы твои не лучше.


Анонимщик   (2004-08-26 17:57:00) [4]

Ля-ля-ля-ля-ля-ля.
Если три наименования на складе, то справишься. Если Refresh почему-то не работает, то нужно закрыть соединение, а потом его открыть.
А чтобы понимать, что говоришь, иди-ка лучше на ibase.ru, да и читай все-все-все про СУБД, транзакции ... . Там даже есть статья по твоему дурацкому вопросу с таким же дурацким ответом.


Yrtimd   (2004-08-26 17:51:00) [5]

А какой метод нужно вызвать, чтобы считать данные таблицы заново?
Refresh почему-то не работает... ;(

З.Ы. Задача не бесполезная. Например: ведется учет товара на складе. В БД заносится приход товаров и их расход, так вот необходимо в реальном времени иметь актуаьные данные!!!


Анонимщик   (2004-08-26 17:43:00) [6]

Блин, да никакую. В конце концов, если ты положишь несколько дней-недель-месяцев на решение этой бесполезной задачи, все равно никому легче не станет.
Предлагаю, вдобавок к другим идиотским вариантам, свой собственный. Устанавливай соединение не только между клиентами и сервером, а и между самими клиентами. Тогда ты для любой СУБД сможешь извращаться как захочешь. Но потом все равно пожалеешь.


Yrtimd   (2004-08-26 17:40:00) [7]

А какую базу посоветуешь, чтобы было КАК ?..


Анонимщик   (2004-08-26 17:39:00) [8]

Сказал же, никак


Yrtimd   (2004-08-26 17:36:00) [9]

И ЧТО ЖЕ НА СЧЕТ СИНХРОНИЗАЦИИ ???


Yrtimd   (2004-08-26 17:36:00) [10]

А как же метод AS_Login в Application Server ?


Анонимщик   (2004-08-26 17:34:00) [11]

1. Никак.
2. TADOConnection.LoginPrompt


Yrtimd   (2004-08-26 17:33:00) [12]

И еще вопросик. как залогиниться не стандарттным окошком с запросом имени пользователя и пароля а своим методом.


Yrtimd   (2004-08-26 17:32:00) [13]

MS Access


Анонимщик   (2004-08-26 17:30:00) [14]

СУБД какая?


Yrtimd   (2004-08-26 17:03:00) [15]

А нет ли событий, возникающих в ADOTable при изменении данных.
Т.е. как бы привязать таблицу к БД так, чтобы можно было мониторить изменения?


clickmaker   (2004-08-26 14:56:00) [16]

если уж это так критично, посылать приложениям, которые смотрят на данные, извещение об их изменении, в ответ на него рефрешить


Desdechado   (2004-08-26 14:12:00) [17]

60 программ меняют данные с частотой раз в минуту.
Каждая из них должна видеть все изменения.
Простой подсчет показывает, что ежесекундно все должно перечитываться. Тебе оно надо?
Обычно юзер жмет кнопку "перечитать данные", когда ему надо.


Наверх

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