Название: как организовать программку? Отправлено: baka от Октябрь 14, 2007, 09:17 ситуация :
существует БД на MySQL'е на сервере к ней подсоединяются несколько пользователей с помощью моего приложения. в моем приложении существует виджет на основе QTreeWidget, заполняется он на основе таблицы БД пользователь имеет возможность добавлять данные в дерево, а также выбирать элементы дерева. как сделать так чтобы в случае изменения данных одним пользователем все остальные экземпляры программы(на других компах) узнавали что вот такая вот таблица изменилась. (и обновляли бы содержание MyTreeWidget'а (знаю что в Qt 4.4 будет сигнал от драйвера БД, но 4.4 еще не вышла ) есть ли к.либо еще способы??? Название: Re: как организовать программку? Отправлено: Racheengel от Октябрь 14, 2007, 09:44 дык, через сокеты шли команду от сервера всем клиентам...
Название: Re: как организовать программку? Отправлено: Вячеслав от Октябрь 14, 2007, 10:02 из тупых вариантов - добавить к таблице поле типа DATETIME\TIMESTAMP и при добавлении(редактировании) итема обновлять вышестоящего(родителя) (или рукаими или тригером) а далее в клиента впихиваешь таймер и смотришь - менялось поле у итема во вьюхе или нет - поменялось - или кнопку обновления разрешили(IMHO это правильнее) или перечитываешь данные автоматом ....
Название: Re: как организовать программку? Отправлено: Kainit от Октябрь 14, 2007, 12:16 Именно для этих целей, уже лет 10 не используется двухзвенная архитектура. Над базой данных напиши простенький сервлет, через который будут выполняться все операции и который будет оповещать клиентов об изменении базы.
Все другие способы - через одно отверстие, трёх-и-более-звенные архитектуры придуманы умными людьми и не зря. Название: Re: как организовать программку? Отправлено: baka от Октябрь 14, 2007, 12:25 Спасибо.
(сам уже хотел делать так : в БД заводится таблица с логинами и IP'шниками всех подключенных к БД при внесении изменений клиентское приложение читает из этой таблицы ip-адреса остальных и отправляет им сообщения так мол и так я такую-то таблицу изменил). Щас почитал, буду смотреть в сторону сервлетов. Название: Re: как организовать программку? Отправлено: Kainit от Октябрь 14, 2007, 13:03 Кстати, возможно будет интересно почитать нововведения Qt 4.4
http://prog.org.ru/forum/topic_6124_0.html (http://prog.org.ru/forum/topic_6124_0.html) там они что-то желаемой вами рассылки планируют сделать, но всё таки это не совсем хорошо... Название: Re: как организовать программку? Отправлено: crocus от Октябрь 15, 2007, 02:09 Попробуй может по таймеру отправлять запрос "SHOW TABLE STATUS LIKE ..."- получишь время - сравнишь, если надо обновишь свой виджет.
|