ЕС
17 июля 2018 г. 13:52

Одновременная работа с базой данных

Qt, SQL

Доброго времени суток!

Необходимо написать приложение в котором будут одновременно работать с большой таблицей из MySql. Нужно чтобы работа была в режиме онлайн, если один что то изменил у остальных это должно отобразиться. С базой данных в Qt работать я умею, проблема в том что я не знаю как организовать онлайн работу. Я ни как не могу найти информацию о том как это сделать и что нужно использовать. Подскажите что нужно изучить и в какую сторону смотреть, чтобы суметь реализовать данный момент.

2

Вам это нравится? Поделитесь в социальных сетях!

4
Evgenii Legotckoi
  • 17 июля 2018 г. 14:01

Добрый день!

Посмотрите на возможность подписки на события от базы данных.
Класс QSqlDriver имеет возможность подписки на эти события. QSqlDriver::subscribeToNotification(const QString& name);
db.driver()->subscribeToNotification("someEventId");

И можете подключиться к событию через сигнал notification
QObject::connect(db.driver(), &QSqlDriver::notification, this, &CustomWidget::refreshView);
Единственная сложность, в которую вы можете упереться, так это то, подерживает ли база данных и её драйвер те или иные сигналы уведомлений о событиях или нет. Здесь нужно читать документацию на базу данных. К сожалению могу подсказать только направление таким образом, а работают ли эти сигналы в MySQL понятия не имею. Попытайтесь найти информацию о событиях в MySQL.





    ЕС
    • 17 июля 2018 г. 17:11

    В итоге решил работать с файлом excel который будет заброшен за сервер, только теперь проблема в его открытии в программе. Он большой и программа открывает его невероятно долго.

    И спасибо за быстрый ответ!

      Со скоростью открытия вы вряд ли что-то сделаете, но я не до конца понимаю, как excel, MySQL и распределённая работа коррелируют в вашем понимании.

      Пожалуйста. Будет что интересного рассказать, не стесняйтесь написать заметку.
        ЕС
        • 17 июля 2018 г. 17:41

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

          Комментарии

          Только авторизованные пользователи могут публиковать комментарии.
          Пожалуйста, авторизуйтесь или зарегистрируйтесь