Текущий архив: 2004.06.13;
Скачать: CL | DM;
ВнизКак заставить автоматически обновляться ADOQuery ? Найти похожие ветки
← →
Maxx221177 (2004-05-21 09:48) [0]Как заставить автоматически обновляться ADOQuery при изменении в таблицах MSSQLServer2000 из которых он тягает данные. Приложение многопользовательское и при внесении данных одним юзером, их сразу должны увидеть другие.
← →
Соловьев © (2004-05-21 09:52) [1]Типа я сижу, и тут какой-то м... сохранил данные, а я как раз вводил мин 5 какие-то нужные для отчета данные. И бац - все переоткрылось и мои данные пропали. Я пойду прибью программера который это написал.
← →
Maxx221177 (2004-05-21 09:56) [2]сидит юзер, забивает данные в форму не связанную с данными.
Потом жмет компочку, запускается транзакция которая все это вносит в базу данных. И вот в этот момент другой юзер должен увидеть эти данные в своем "Журнале документов".
← →
Sergey13 © (2004-05-21 09:57) [3]2Maxx221177 (21.05.04 09:48)
Ответь на вопрос зачем это надо? Насколько "сразу должны увидеть другие"?
← →
Sergey13 © (2004-05-21 10:01) [4]2Maxx221177 (21.05.04 09:56) [2]
>И вот в этот момент другой юзер должен увидеть эти данные в своем "Журнале документов".
В каком месте журнала он должен их увидеть, если в журнале 100000 документов, он работает с 25000-м а другой юзер исправил/добобавил 99999-й.
← →
TohaNik © (2004-05-21 10:02) [5]>их сразу должны увидеть другие.
Не надо "автоматически":) Пусть пользователь сам решает когда
обновляться.
← →
Курдль © (2004-05-21 10:04) [6]
> запускается транзакция которая все это вносит в базу данных.
Ну а чего ты спрашиваешь! Самое главное о СУБД ты уже знаешь!
← →
Maxx221177 (2004-05-21 10:06) [7]Sergey13 © (21.05.04 09:57) [3]
Что-бы открыв список документов, и начав работать в нем через час, юзер уже видел какие документы за этот период были внесены. И при этом бы не нажимал кнопок обновить и т.д.
← →
ega23 © (2004-05-21 10:07) [8]Самое главное о СУБД ты уже знаешь!
:о)
← →
Соловьев © (2004-05-21 10:07) [9]
> Что-бы открыв список документов, и начав работать в нем
> через час, юзер
Так сразу или через час?
Ну так повесь на событие открытия списка - рефреш данных.
← →
Maxx221177 (2004-05-21 10:09) [10]Господа
Я хочу что-бы открыв журнал жокументов с фильтрами за сегодняшнее число, юзер в реальном времени видел как добавляются новые документы.
← →
Соловьев © (2004-05-21 10:11) [11]
> [10] Maxx221177 (21.05.04 10:09)
Реал-тайм стратегия :)))
← →
Maxx221177 (2004-05-21 10:13) [12]Ладно,
Серьезно.
Кто-нибудь знает как заставить обновляться ADOQuery
(идеи типа по таймеру через 5 минут... не принимаются)
← →
Плохиш (2004-05-21 10:13) [13]
> Maxx221177 (21.05.04 10:09) [10]
> Я хочу что-бы открыв журнал жокументов с фильтрами за сегодняшнее
> число, юзер в реальном времени видел как добавляются новые
> документы.
Так ты хочешь или юзер? :-)
TTimer тебя спасёт
← →
Курдль © (2004-05-21 10:15) [14]
> Я хочу что-бы открыв журнал жокументов с фильтрами за сегодняшнее
> число, юзер в реальном времени видел как добавляются новые
> документы.
Возможно это и надо, но ведь только тебе известны бизнес-процессы, которые ты автоматизируешь.
Но поверь, что мне за много лет работы ни разу не приходилось сталкиваться с такой проблемой. Ну, например (про работу с документами), пришел бухгалтер и начал составлять отчет.
Открыл окно "Выбор первичных документов" и выбрал таки именно те документы, что были в БД на тот самый момент. Зачем ему еще новее? Не спорю, есть проги, где требуется мгновенное обновление (биржевые терминалы и т.п.) но это для тех юзеров, которые принимают решения "с экрана".
← →
Плохиш (2004-05-21 10:15) [15]
> Maxx221177 (21.05.04 10:13) [12]
> Ладно,
> Серьезно.
Это совершенно не серьёзно
> Кто-нибудь знает как заставить обновляться ADOQuery
> (идеи типа по таймеру через 5 минут... не принимаются)
Поставь таймер на 1 секунду :-|
← →
ega23 © (2004-05-21 10:16) [16]Не, конечно можно как-то извратиться. Через xp_cmdshell, чтобы рассылала какую-нибудь пургу на клиетны. При этом на каждую таблицу триггера на все изменения повесить, чтобы эти триггера xp_cmdshell запускали.
Но честно скажу - я такого программера убил бы сразу. Юзверь сам должен решать, когда обновлять данные.
Представь, ты вышел в Инете на, какой-нибудь книжный магазин. Загружаешь информацию о книге, а в это время у них пополнение БД. И ВСЕ ТЕКУЩИЕ ПОСЕТИТЕЛИ магазина начинают "обновляться".
← →
Sergey13 © (2004-05-21 10:17) [17]2Maxx221177 (21.05.04 10:13) [12]
>Ладно,
>Серьезно.
>(идеи типа по таймеру через 5 минут... не принимаются)
Ну прими пожалуйста, ну что тебе стоит, умоляю. 8-)
← →
Курдль © (2004-05-21 10:20) [18]
> Ну прими пожалуйста, ну что тебе стоит, умоляю. 8-)
Да почему? Может он именно биржевой терминал делает! Например, очередь заявок должна иметь квант времени не секунду, а значительно меньше!
← →
Sergey13 © (2004-05-21 10:28) [19]2Курдль © (21.05.04 10:20) [18]
>Да почему? Может он именно биржевой терминал делает!
Ты думаешь? Бедная биржа. 8-)
2Maxx221177
Прикинь. Сидишь ты в этом форуме. И только хотел в свою ветку ткнуть, а она ба-бах и уже не первая, а третья. Не попал. Хорошо?
← →
Maxx221177 (2004-05-21 10:31) [20]Sergey13 © (21.05.04 10:28) [19]
Сижу и думаю что ничего конкретного то и не услышал на свой вопрос:))
← →
Rule © (2004-05-21 10:32) [21]палка о двух концах, если пользователь хочет новые данные, пусть рефрешит данные, или если операция какая-нибудь (допустим вывод данных на печать), а если хочешь автоматизировать, тоесть через время самостояетельно рефрешить, то теряешь в производительности, тоесть решай сам ...
← →
ega23 © (2004-05-21 10:33) [22]Да почему? Может он именно биржевой терминал делает! Например, очередь заявок должна иметь квант времени не секунду, а значительно меньше!
Сдаётся мне, что не бывает биржевых терминалов под MS SQL...
← →
ega23 © (2004-05-21 10:36) [23]Сижу и думаю что ничего конкретного то и не услышал на свой вопрос:))
см 16-й пост. Но это тако-о-ой израт.....
И сдаётся мне, что не услышишь...
← →
Курдль © (2004-05-21 10:37) [24]
> Maxx221177 (21.05.04 10:31) [20]
> Сижу и думаю что ничего конкретного то и не услышал на свой
> вопрос:))
Да эта тема подымается с периодичностью в 2 дня. Все уже устали спорить, в каких случаях оно надо, а в каких - нет. МОгу кратко резюмировать прежние дебаты - делай аппликэйшн-сервер и управляй обновлениями клиентов с него.
> ega23 © (21.05.04 10:33) [22]
> Сдаётся мне, что не бывает биржевых терминалов под MS SQL...
А хз! Я ничему не удивляюсь. Дело ведь не в программистах, а в качественном маркетинговом отделе.
← →
Maxx221177 (2004-05-21 10:41) [25]Господа,
пока с воми общался добрел до очередного трабла:))
MDI приложение, при попытке из одного MDIchild окна обновить ADOQuery в другом вылетает ошибка чтения по адресу..., как быть?
← →
Курдль © (2004-05-21 10:42) [26]
> MDI приложение, при попытке из одного MDIchild окна обновить
> ADOQuery в другом вылетает ошибка чтения по адресу..., как
> быть?
"В борьбе за свежесть данных пала смертью храбрых логика работы приложения..." :)
← →
Соловьев © (2004-05-21 10:43) [27]
> MDI приложение, при попытке из одного MDIchild окна обновить
> ADOQuery в другом вылетает ошибка чтения по адресу..., как
> быть?
использовать Datamodule
← →
ega23 © (2004-05-21 10:44) [28]А хз! Я ничему не удивляюсь. Дело ведь не в программистах, а в качественном маркетинговом отделе.
Ну в общем-то да. Это из истории, как MS SQL получил лицензирование на неких объектах, а Оракл - нет. Просто ребята из мелкософта откатили больше, водку выставили получше, девок покрасивше в сауну подогнали. И получили зелёный свет.
← →
Maxx221177 (2004-05-21 10:45) [29]Курдль © (21.05.04 10:42) [26]
>"В борьбе за свежесть данных пала смертью храбрых логика >работы приложения..." :)
Еще не пала, пока добиваю :))
← →
Курдль © (2004-05-21 10:48) [30]
> Maxx221177 (21.05.04 10:45) [29]
Ну расскажи, что ли, какую общую цель преследуешь? Хоть из какой области проект? Вопрос со складом-магазином вызвал деление 50/50 сторонников и противников автообновления.
← →
Rem (2004-05-21 10:55) [31]2 Maxx221177
Зря ты затеял тут эту дискуссию. Ничего путнего тут не подскажут. Подобный вопрос задают тут уже далеко не первый раз. Реакция почти всех мастеров и прочих: "Это не нужно, потому что это не нужно никому".
P.S. Надо обновлять не весь ADOQuery, а только добавленные или измененые записи.
P.P.S. Если нужно, заходи в MSN Messenger: remenyak@hotmail.com. Расскажу как это делается и как это должно работать.
P.P.P.S. Я бы руки поотрубал тому программеру, который бы заставил меня давить кнопку "Refresh" в уже открытом журнале всякий раз, когда я начинаю сомневаться, изменились данные или нет. Эдакий чат получается... с ручной прокруткой.
← →
Емахо! (2004-05-21 10:55) [32]to Maxx221177
НЕ парься сильно. Купи книгу Елмановой-Тенцера "Delphi и технология COM" только возьми синюю. Конкретно глава 12 "Технология DataSnap" стр. 558 "Нотификация в технологии DataSnap" все оч. подробно объяснено
← →
Maxx221177 (2004-05-21 10:56) [33]Курдль © (21.05.04 10:48) [30]
>Ну расскажи, что ли, какую общую цель преследуешь?
Розничный склад с большим ассортиментом.
Заказ собирается из множества позиций
← →
Емахо! (2004-05-21 11:00) [34]>>Розничный склад с большим ассортиментом.
>>Заказ собирается из множества позиций
У меня примерно аналогичная задача. :))))) Ток информационная система пишется, которая вообще отслеживает все, несчитая прихода-расхода товара
← →
Емахо! (2004-05-21 11:00) [35]>>Розничный склад с большим ассортиментом.
>>Заказ собирается из множества позиций
У меня примерно аналогичная задача. :))))) Ток информационная система пишется, которая вообще отслеживает все, несчитая прихода-расхода товара
← →
bushmen © (2004-05-21 11:02) [36]>Розничный склад с большим ассортиментом.
И что, каждый оператор сидит за открытым окном журнала документов и упорно глядит весь день на него? :)
По-моему, он его откроет только тогда, когда к нему подойдет клиент, а потом закроет
← →
Курдль © (2004-05-21 11:05) [37]
> Розничный склад с большим ассортиментом.
> Заказ собирается из множества позиций
Ну говорили же, что здесь нужен другой подход.
Открываешь заказ - блокируешь товар - выбираешь товар - утверждаешь заказ - обновляешь товар - разблокируешь товар.
← →
Maxx221177 (2004-05-21 11:05) [38]bushmen © (21.05.04 11:02) [36]
Ну иногда сидит и глядит.
А иногда у него пос..ть всемени нет, не то что refresh нажать
← →
Sergey13 © (2004-05-21 11:08) [39]2Maxx221177 (21.05.04 10:56) [33]
>Розничный склад с большим ассортиментом.
>Заказ собирается из множества позиций
И все опять упирается в единственный чайник на весь склад который собрались купить сразу 10 человек. 8-)
(недавно был пример с чайником - если кто не в курсе)
← →
ega23 © (2004-05-21 11:09) [40]Есть вариант. Делай по таймеру пинг: обновились ли записи в БД. Если обновились, то полный рефреш, раз это тебе так надо. Если нет, то дальше сидишь и дёргаешь коротенький запрос.
Страницы: 1 2 вся ветка
Текущий архив: 2004.06.13;
Скачать: CL | DM;
Память: 0.55 MB
Время: 0.052 c