Чего вы пытаетесь достичь?
Это какое-то приложение для мониторинга в реальном времени, такое как биржевая торговля, программное обеспечение для мониторинга предприятий или у вас есть сетка в каком-либо приложении CRUD, которое вы хотите автоматически обновлять?
Если это сырое приложение , то первое, что я хотел бы сделать, это проверить требования:
- Действительно ли необходимо, чтобы ваш пользователь постоянно обновлял информацию автоматически,
- Ваш пользователь постоянно смотрит на монитор?
- Почему? Может быть, вы можете внедрить какую-то систему оповещения, которую можно проверять реже?
Если вам действительно нужен подход, который вы описали, то у вас все хорошо - вы можете использовать либо таймер, либо какое-то другое событие (кнопка, перемещение мыши, ...) для обновления данных. Конечно, постоянные запросы станут проблемой производительности по мере увеличения числа пользователей.
Если это программное обеспечение для мониторинга в реальном времени с большим количеством данных, то вам не следует помещать базу данных в центр системы. У вас должна быть центральная служба, к которой ваши клиенты подключаются через TCP (или какой-то подобный протокол). Центральная служба должна сохранять последнее состояние системы (плюс, возможно, некоторую историю). Клиенты могут подключаться к сервису, а сервис должен уведомлять клиентов при появлении новых данных, чтобы избежать постоянного опроса. База данных должна использоваться в качестве журнала, который приложение использует для анализа прошлых событий, но не для отображения в реальном времени.
Редактировать:
Относительно ответа Андрея: я не уверен, решит ли это вашу проблему. Шаблон наблюдателя обычно реализуется с помощью механизма подписки / уведомления, так что источник данных может уведомлять всех наблюдателей при изменении данных.
Проблема в том, что СУБД обычно не имеют механизма, который может уведомлять вас об изменении данных. Даже если они имеют, это не практично, потому что может быть большое количество изменений за короткий период времени. Подумайте о десятках или сотнях обновлений в секунду - как часто СУБД должна уведомлять клиентов об изменениях? Что делать, если есть сотни клиентов с медленной сетью? Когда у вас более одного пользователя, все становится сложнее.
Привязка данных работает - вы не можете привязать свою сетку непосредственно к таблице в базе данных. Сначала вам нужно передать данные в ваше приложение в некоторый объект, который может быть связан с GUI (наборы данных, списки, ...)