![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
АвтоОбновление
Bacuc © (2004-07-21 18:14:00)С базой работают три приложения по сети...
Что нужно сделать, чтобы:
при изменении базы приложением №1 в приложении №2 автоматически обновился DBGrid?
Bacuc (2004-07-22 15:49:00) [21]
> вариант такой:
> если база не сильно большая, ну что бы сетку сильно не грузить,
> а то ведь обновление таскает туда-сюда всю базу, то можно
> автоматическое обновление поставить через какой-нить интервал
> времени, что-нить типа Table.refresh. Беду с юзверями, у
> которых во время ввода обновилась информация решить можно
> очень просто, а самое главное это будет правильно: клиент
> копит у себя информацию до какой-нить контрольной точки,
> например этой точкой может быть нажатие на кнопочку "ВЫПИСАТЬ",
> т.е. символизируется выписывание счета, В этот момент транзакция,
> которая соберет, все, что накопил клиент и бросит на сервер...
> таким образом у юзверя хоть 10 раз все обновится, все, что
> он занес у себя он не потеряет... Бегать не придется
Сидят два оператора БД, скорость их работы и скорость обновления базы имеет большое значение... Что получается? Первый оператор добавляет запись в базу, а второй ее не увидит, даже если нажмет кнопку "Рефреш"... Придется ждать пока первый изменения не запостит :( Не, не подходит :(
> Ильш © (22.07.04 07:16) [11]
> а еще есть поиск по форуму !!!!!!!!!!!!!!!!!!!!!!!
> ты не первый
Ну скинь тогда ссылку где это уже обсуждалось...
Соловьев (2004-07-22 10:35:00) [22]
> В этот момент транзакция, которая соберет, все, что накопил
> клиент и бросит на сервер...
это називается не транзакция , а кешированные изменения.
Draught (2004-07-22 10:33:00) [23]да, или как мне подсказали уже, обновлять не через интервал времени, а по мере обращения...
Draught (2004-07-22 10:32:00) [24]вариант такой:
если база не сильно большая, ну что бы сетку сильно не грузить, а то ведь обновление таскает туда-сюда всю базу, то можно автоматическое обновление поставить через какой-нить интервал времени, что-нить типа Table.refresh. Беду с юзверями, у которых во время ввода обновилась информация решить можно очень просто, а самое главное это будет правильно: клиент копит у себя информацию до какой-нить контрольной точки, например этой точкой может быть нажатие на кнопочку "ВЫПИСАТЬ", т.е. символизируется выписывание счета, В этот момент транзакция, которая соберет, все, что накопил клиент и бросит на сервер... таким образом у юзверя хоть 10 раз все обновится, все, что он занес у себя он не потеряет... Бегать не придется
Соловьев (2004-07-22 09:35:00) [25]
> А у меня в ответе кнопки и телодвижения есть?
подразумевается
> 2. Возможно ;)
тогда можно и автоматом - будешь бегать от разгневаных юзверей. которые вводили данные, а тут бац - пошла автоматом перезагрузка данных...
ИМХО, только руцями, сидит оператор №2 и нажимает на кнопку где выполняется код [2]
Ильш (2004-07-22 07:16:00) [26]а еще есть поиск по форуму !!!!!!!!!!!!!!!!!!!!!!!
ты не первый
Bacuc (2004-07-22 03:52:00) [27]
> Anatoly Podgoretsky © (21.07.04 23:55) [9]
то есть?
Anatoly Podgoretsky (2004-07-21 23:55:00) [28]Жалко только пользователей приложения №2
Bacuc (2004-07-21 18:55:00) [29]
> Соловьев © (21.07.04 18:14) [1]
> 1. СУБД?
> 2. Бегаешь быстро? :)
1. MySQL
2. Возможно ;)
Reindeer Moss Eater (2004-07-21 18:30:00) [30]А у меня в ответе кнопки и телодвижения есть?
Соловьев (2004-07-21 18:28:00) [31]
> при изменении базы приложением №1 в приложении №2 автоматически
> обновился DBGrid?
т.е. есть какая-то коллбек функция, или ивент(как в ИБ) который АВТОМАТИЧЕСКИ(т.е. без каких либо телодвижений - нажатий на кнопки и т.п.) обновит НД.
> Ответ кстати тот же самый будет.
будет, но с существенными дополнениями :)
Reindeer Moss Eater (2004-07-21 18:25:00) [32]Ответ кстати тот же самый будет.
Reindeer Moss Eater (2004-07-21 18:25:00) [33]упустил главное - аттоматический код:)
А что такое автоматический код?
Это код вставляемый IDE автоматически?
PS чё спрашивали, на то и ответил.
Никто не спрашивал, как в точке а определить, что в точке б внесли изменения в базу.
Соловьев (2004-07-21 18:20:00) [34]
> Известно что.
> DataSet.Close;
> DataSet.Open;
упустил главное - аттоматический код:)
И еще не ясно - может транзакции надо будет переоткрыть. Чего тут гадать - автор не ответил на п.1 :)
Reindeer Moss Eater (2004-07-21 18:18:00) [35]Что нужно сделать, чтобы:
при изменении базы приложением №1 в приложении №2 автоматически обновился DBGrid?
Известно что.
DataSet.Close;
DataSet.Open;
Соловьев (2004-07-21 18:14:00) [36]1. СУБД?
2. Бегаешь быстро? :)