![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Синхронизация изменений в данных [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 программ меняют данные с частотой раз в минуту.
Каждая из них должна видеть все изменения.
Простой подсчет показывает, что ежесекундно все должно перечитываться. Тебе оно надо?
Обычно юзер жмет кнопку "перечитать данные", когда ему надо.