Russian Qt Forum
Ноябрь 23, 2024, 18:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
как организовать программку?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: как организовать программку? (Прочитано 4502 раз)
baka
Гость
как организовать программку?
«
:
Октябрь 14, 2007, 09:17 »
ситуация :
существует БД на MySQL'е на сервере
к ней подсоединяются несколько пользователей с помощью моего приложения.
в моем приложении существует виджет на основе QTreeWidget, заполняется он на основе таблицы БД
пользователь имеет возможность добавлять данные в дерево, а также выбирать элементы дерева.
как сделать так чтобы в случае изменения данных одним пользователем все остальные экземпляры программы(на других компах)
узнавали что вот такая вот таблица изменилась. (и обновляли бы содержание MyTreeWidget'а
(знаю что в Qt 4.4 будет сигнал от драйвера БД, но 4.4 еще не вышла )
есть ли к.либо еще способы???
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: как организовать программку?
«
Ответ #1 :
Октябрь 14, 2007, 09:44 »
дык, через сокеты шли команду от сервера всем клиентам...
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Вячеслав
Гость
Re: как организовать программку?
«
Ответ #2 :
Октябрь 14, 2007, 10:02 »
из тупых вариантов - добавить к таблице поле типа DATETIME\TIMESTAMP и при добавлении(редактировании) итема обновлять вышестоящего(родителя) (или рукаими или тригером) а далее в клиента впихиваешь таймер и смотришь - менялось поле у итема во вьюхе или нет - поменялось - или кнопку обновления разрешили(IMHO это правильнее) или перечитываешь данные автоматом ....
Записан
Kainit
Гость
Re: как организовать программку?
«
Ответ #3 :
Октябрь 14, 2007, 12:16 »
Именно для этих целей, уже лет 10 не используется двухзвенная архитектура. Над базой данных напиши простенький сервлет, через который будут выполняться все операции и который будет оповещать клиентов об изменении базы.
Все другие способы - через одно отверстие, трёх-и-более-звенные архитектуры придуманы умными людьми и не зря.
Записан
baka
Гость
Re: как организовать программку?
«
Ответ #4 :
Октябрь 14, 2007, 12:25 »
Спасибо.
(сам уже хотел делать так : в БД заводится таблица с логинами и IP'шниками всех подключенных к БД
при внесении изменений клиентское приложение читает из этой таблицы ip-адреса остальных и отправляет им сообщения так мол и так я такую-то таблицу изменил).
Щас почитал, буду смотреть в сторону сервлетов.
Записан
Kainit
Гость
Re: как организовать программку?
«
Ответ #5 :
Октябрь 14, 2007, 13:03 »
Кстати, возможно будет интересно почитать нововведения Qt 4.4
http://prog.org.ru/forum/topic_6124_0.html
там они что-то желаемой вами рассылки планируют сделать, но всё таки это не совсем хорошо...
Записан
crocus
Гость
Re: как организовать программку?
«
Ответ #6 :
Октябрь 15, 2007, 02:09 »
Попробуй может по таймеру отправлять запрос "SHOW TABLE STATUS LIKE ..."- получишь время - сравнишь, если надо обновишь свой виджет.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...