Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

автообновление в DBGrid   Найти похожие ветки 

 
alexcoler   (2007-01-30 23:39) [0]

как можно сделать чтоб DBGrid автоматически отоброжала новые записи в БД? Заранее благодарен


 
Olivetti   (2007-01-30 23:47) [1]

Подключить к источнику данных? Угадал?


 
alexcoler   (2007-01-31 00:10) [2]

к источнику данных всё подключенно через ADO, открывает и показывает всё как надо . но хотелось чтоб по мере поступления новых записей енто всё отображалось в DBGride в реал-тайме


 
Sam Stone ©   (2007-01-31 00:15) [3]

А зачем? каждую неделю подобный вопрос появляется. И каждый раз объясняют, что это пользователь должен делать запрос на обновление данных.


 
Olivetti   (2007-01-31 00:18) [4]

А зачем? каждую неделю подобный вопрос появляется. И каждый раз объясняют, что это пользователь должен делать запрос на обновление данных.

Это как частный случай. В общем случае, такое решение не всегда может быть применено. Все зависит от бизнес-задач. Так что, вопрос правомерный.


 
Olivetti   (2007-01-31 00:20) [5]

к источнику данных всё подключенно через ADO, открывает и показывает всё как надо . но хотелось чтоб по мере поступления новых записей енто всё отображалось в DBGride в реал-тайме

Задача сложная. Никто разжевывать не будет. В любом случае, необходимо обеспечить оповещение об изменении данных, и соответствующим образом обрабатывать это сообщение. Какие механизмы будут использованы - это уже другое дело.


 
Германн ©   (2007-01-31 00:21) [6]


> alexcoler   (30.01.07 23:39)
>
> как можно сделать чтоб DBGrid автоматически отоброжала новые
> записи в БД? Заранее благодарен

Есть решение. Простое. Но промолчу, бо иначе побьют. И я сам буду первым, кто подымет на меня кирпич :)


 
Германн ©   (2007-01-31 00:22) [7]

Забыл добавить, что решение простое, но частное.


 
alexcoler   (2007-01-31 00:23) [8]

как зачем ? раз спросил значит надо:) ката пользователь делает запрос это одно , а когда в БД поступает в минуту в среднем около сотни новых записей енто другое. Так как сделать то можно? Хотелось бы конкретики побольше


 
Olivetti   (2007-01-31 00:34) [9]

Так как сделать то можно?

Вариантов много:
1. Ведение журнала изменений.
2. Рассылка широковещательных сообщений по сети.
3. Сервер приложений.
4. Кажется, некоторые СУБД поддерживают "события".
5. ...


 
Johnmen ©   (2007-01-31 00:44) [10]


> alexcoler   (31.01.07 00:23) [8]


А успеешь за минуту просмотреть всю сотню записей и осознать написанное там?


 
alexcoler   (2007-01-31 00:51) [11]

ну енто уж не моя задача:) мне тока сделать надо


 
Olivetti   (2007-01-31 00:52) [12]

Johnmen ©   (31.01.07 00:44) [10]
А успеешь за минуту просмотреть всю сотню записей и осознать написанное там?


Ну, если почтовый сервер закачивает почту, и кидает ее в базу данных, то я, как пользователь, хотел бы видеть все вновь пришедшие письма. Желательно - без нажатия на кнопку "Обновить" и без перезапроса заголовокв всех писем из БД по таймеру.

Или, если мое дело - обрабатывать все документы с красной меткой, то я, по мере ввода документов другими пользователями, хотел бы видеть эти документы. Тоже, желательно, без дополнительных действий с моей стороны.

"Так бывает..." (С)


 
Olivetti   (2007-01-31 00:53) [13]

То есть, существует такое понятие как "workflow"...


 
ЮЮ ©   (2007-01-31 04:42) [14]


> Olivetti   (31.01.07 00:52) [12] - [13]

тогда TDBGrid не лучший компонент для визуализации. А обращаться к БД можно и по таймеру, особенно если в таблице есть "автоинкремент" или другие поля, которы позволят построить запрос к таблице так, чтобы можно было получить только те записи, которых не было во время предыдущего запроса.


 
ярчик   (2007-01-31 11:14) [15]


> 2. Рассылка широковещательных сообщений по сети.


можно по русски что это такое ?


 
Olivetti   (2007-01-31 11:25) [16]

можно по русски что это такое ?

http://ru.wikipedia.org/wiki/UDP


 
Плохиш ©   (2007-01-31 11:37) [17]


> Olivetti   (31.01.07 00:18) [4]
> >А зачем? каждую неделю подобный вопрос появляется.


> Так что, вопрос правомерный.

И так каждую неделю "правомерный", так же как и "как засунуть прогу туда где часики" :-)


 
Olivetti   (2007-01-31 11:54) [18]

Плохиш ©   (31.01.07 11:37) [17]

Напиши статью - давай ссылку. :-)


 
evvcom ©   (2007-01-31 16:24) [19]

> [0] alexcoler   (30.01.07 23:39)
> чтоб DBGrid автоматически отоброжала новые записи в БД?

а никак. DBGrid не отображает вообще данных из БД. Он отображает данные из DataSet, которые совсем не обязаны быть в какой-либо БД. И уж если будешь дальше вопросы задавать, то открой тайну, что за БД у тебя, и какие компоненты доступа используешь.

> [17] Плохиш ©   (31.01.07 11:37)
> так же как и "как засунуть прогу туда где часики" :-)

Это называется "запуздырить". Тебе ли не знать? :-)

> Olivetti

Дык, ты спрашивающий или отвечающий? :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.035 c
2-1169990981
dasha
2007-01-28 16:29
2007.02.18
почему Opendialog "тормозит" программу


3-1164492467
Artem071
2006-11-26 01:07
2007.02.18
Проблема с командой INSERT


2-1169717730
kilonet
2007-01-25 12:35
2007.02.18
Защита данных в EXE файле


2-1169345000
ol_nazgul
2007-01-21 05:03
2007.02.18
ComboBox дублирование строк


2-1170276381
Wlad_M
2007-01-31 23:46
2007.02.18
Как вписать недостающий класс в экзешник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский