Russian Qt Forum
Ноябрь 23, 2024, 17:43
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Обновление данных на Table или подобном элементе интерфейса
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Обновление данных на Table или подобном элементе интерфейса (Прочитано 7994 раз)
admin_007
Гость
Обновление данных на Table или подобном элементе интерфейса
«
:
Январь 16, 2008, 20:37 »
Друзья, вот представьте себе обычная форма. На форме допустим QTableView. Есть БД на FireBird (ну может на любом движке)
Вот хочу сделать так, что бы при изменении данных в БД, это изменение отобразилось на элементах интерфейса (QTable).
Т.е. что бы это происходило автоматичеки без вмешательства пользователя или иных средств.
Допустим подключены несколько компов-клиентов к БД. Один пользователь что то сделал (например удалил запись или изменил значение где то в таблице) И сразу это отразилось у всех клиентов в реальном времени...
Есть вариант написать приложение клиент-сервер, ну а без него это можно как то сделать?
Спасибо!!!
Записан
ритт
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #1 :
Январь 16, 2008, 20:42 »
друг, форму представить себе не могу, ибо в кутэ нет такого термина...
ищи по форуму - много раз поднимался вопрос о вариантах "слежения" за изменениями в бд
если "движок" может быть любым, пусть это будет пг
Записан
Sergey B.
Программист
Offline
Сообщений: 544
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #2 :
Январь 16, 2008, 21:07 »
В Qt 4.4 будет возможно на PostgreSQL и FireBird.
http://doc.trolltech.com/main-snapshot/qsqldriver.html#notification
Записан
ритт
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #3 :
Январь 16, 2008, 21:41 »
а я хренею, что у мускуля нет подобной возможности, как у пг, например...
когда-нибудь мне будет очень надо - и сделаю грязный хак мускулю на предмет сигнализации какой-нибудь
может, кто-нть уже этим озадачивался? кто-нть знает?
Записан
Tonal
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #4 :
Январь 17, 2008, 08:34 »
В мускуле всю жисть опрашивали таблицы на предмет последнего изменения.
Ну а в последних вроде UDF-ы и триггеры есть - так что можно ручками реализовать. :-)
Записан
ритт
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #5 :
Февраль 17, 2008, 18:35 »
юдф-ы есть давно, триггеры тоже достаточно давно появились (с 5.0.2)
всё-равно нужно какую-то ху*ту мудрить, т.к. нотифи нет и даже в 6-ой серии пока не предполагается...и как в таком случае сообщить клиенту об изменениях? разве что открывать в приложении порт на прослушку и из триггера устанавливать соединение - отправлять какой-нть нотификашен. других мыслей пока нет...
Тонал, есть идеи??!
только недавно порадовался качественному эмбеду мускуля, и вот опять разочаровываюсь в нём...
видимо, пора бросать мускуль и делать эмбед на птице и сервера на пг
Записан
Вячеслав
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #6 :
Февраль 17, 2008, 20:14 »
2 xep А чем тебе птиц в качестве сервера не нравиться ?
Летает и не жужжит
И evnt'Ы есть
PS Тебе мессага дошла ?
Записан
ритт
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #7 :
Февраль 18, 2008, 00:02 »
Вячеслав, мессага дошла - всё жду когда в аську постучишься
от сервера мне нужна исключительно только производительность...если сможешь доказать, что птиц ничуть не хуже того же мускуля, возможно, задумаюсь о переброске сервера...
но сейчас этот вопрос меня меньше всего тревожит. на первое место сейчас встала сигнализация на клиентской стороне. не хочется сейчас "между делом" перевязывать всё на птица
Записан
Tonal
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #8 :
Февраль 18, 2008, 09:17 »
У нас приложения на птице, так что про мускуль не подскажу. :-(
С производительностью опять же по разному - птиц более продвинутый в плане оптимизатра, но он версионник, так что иногда можно налететь с непривычки.
Например, select count(*) from table вызовет полный скан таблицы, а в мускуле отработает сразу (порравят в в2.5).
С другой стороны, читающие транзакции не мешают пишущьим - поэтому, если читающих много, то версионник - лучший выбор.
Записан
crocus
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #9 :
Февраль 18, 2008, 11:38 »
Вопрос не в тему, но все-же, как в птице вывести данные в файл и из файла (типа mysql : load data local infile..)
Записан
Вячеслав
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #10 :
Февраль 18, 2008, 14:42 »
Цитата: crocus от Февраль 18, 2008, 11:38
Вопрос не в тему, но все-же, как в птице вывести данные в файл и из файла (типа mysql : load data local infile..)
external table ?
Записан
Вячеслав
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #11 :
Февраль 18, 2008, 14:45 »
Цитата: xep от Февраль 18, 2008, 00:02
Вячеслав, мессага дошла - всё жду когда в аську постучишься
Млин
Я про нее последнее время забыл - не до грибов ( Жена ремонт дома затеяла (моими руками
)) Таки давай через форум\ЛС ....
Записан
Sergeich
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #12 :
Февраль 20, 2008, 02:06 »
Раз пошла такая пьянка
Други, подскажите неразумному, есть у какого-нить из встроенных движков поддержка нотификаций. После размышлений на данную тему понял, что оно в принципе реализуемо. Может кто-то ужо сделал?
Записан
Tonal
Гость
Re: Обновление данных на Table или подобном элементе интерфейса
«
Ответ #13 :
Февраль 20, 2008, 08:40 »
У птица есть. Я ей давно пользуюсь. :-)
правда работаю с ним не через Qt-ёвый драйвер. Но есои поискать, в этом форуме как-то пробегала реализация поддержки и для Qt-ёвого. А в 4.4 троли обещают встроить. :-)
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...