Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
27 июля 2018 г. 13:31
Arrow

Доброго времени суток!
Использую PostgreSQL.
Попробую объяснить вопрос на примере.
Есть таблица main_table с данными:
id         first_name                          name                          project                          proposal_count
1          Jon                                       Dow                          Qt                                                       1
1          Jeck                                     D                               SQL                                                    1
1          Jon                                       Dow                          Qt                                                       2
1          Jeck                                     D                               SQL                                                    1
1          Jon                                       Dow                          SQL                                                    1


Как можно получить выборку или создать новую таблицу следующего вида:

first_name                          name                         project                          all_proposal_count
Jon                                       Dow                          Qt                                                       3
Jeck                                     D                               SQL                                                    2
Jon                                       Dow                          SQL                                                   1

ЕС
17 июля 2018 г. 7:52
Евгений Сальников

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

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

M
16 мая 2017 г. 1:33
MadBear541

Есть программа в которой происходит добавление данных в базу SQL. Необходимо реализовать функцию проверки наличия записи при нажатии кнопки "Сохранить", если запись есть должен выполняться запрос Update, в ином случае выполняется запрос Insert. Как это реализовать?

ВГ
5 октября 2016 г. 6:10
Владимир Горный

Есть рабочая модель QSqlRelationalTableModel, мне нужен из нее последний выполненный query, то есть если мы обновили данные в базе, я хочу получить текст запроса этого обновления вида “UPDATE…”. После метода model->selectall(). Выполняю model->query.lastQuery() или model->query().executedQuery(), но получаю в ответ “SELECT …”, также пробовал выполнять до model->selectall(), но все равно получаю запрос вида “SELECT…”. Хотя в базу данных все кладется нормально, записи обновляются и добавляются, есть ли возможность получить текст самого запроса обновления, вставки?
25 августа 2016 г. 15:04

Qt

FireBird, IBASE, Leap, openSUSE, Qt, SQL

Установка Qt 5.7 на openSUSE Leap 42.1

Скачиваем последнюю версию Qt для Linux:

wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run

Делаем файл исполняемым

chmod +x qt-unified-linux-x64-online.run

Устанавливаем gcc, make и прочие необходимые библиотеки:

sudo zypper install --type pattern devel_basis

Далее устанавливаем Qt:

./qt-unified-linux-x64-online.run

Следуем указаниям графического инсталятора. Не забываем отметить пункт Source для установки исходных кодов библиотек.

25 ноября 2015 г. 13:17

Qt

BLOB, QPixmap, Qt, SQL, SQLite, база данных, изображение

Изображение в базе данных может быть сохранено в формате BLOB (англ. Binary Large Object - двоичный большой объект), то есть в формате массива двоичных данных. Формат BLOB также подходит для сохранения аудио и видео данных в базах данных.

Рассмотрим сохранение и восстановление изображения из базы данных на примере следующего приложения, в котором скриншот с экрана компьютера будет сохраняться в базе данных и выводиться в специальный QLabel , когда соответствующая запись будет выбрана в QTableView , который будет отображать все записи об изображения, хранящихся в базе данных.

Таким образом имеем таблицу в базе данных со следующими полями:

  • id (INTEGER) - id записи;
  • Name (VARCHAR(255)) - название хранящегося в базе данных файла;
  • Pic (BLOB) - поле для хранения изображений в базе данных.

Если не вдаваться подробно в урок, то самая ценная информация по данной теме в конце файла mainwindow.cpp в следующих методах:

  • MainWindow::on_screenButton_clicked()
  • MainWindow::slotCurrentPic(QModelIndex index)

Структура проекта

  • PicDataBase .pro - профайл проекта;
  • database.h - заголовочный файл бессменного класса обёртки для работы с базой данных;
  • database.cpp - файл исходных кодов класса-обёртки для работы с базой данных;
  • mainwindow.h - заголовочный файл основного окна приложения;
  • mainwindow.cpp -файл исходных кодов основного окна приложения;
  • mainwindow.ui - форма главного окна приложения;
  • main.cpp - основной файл исходных кодов приложения.
20 ноября 2015 г. 15:23

Qt

DECIMAL, INTEGER, MS SQL, Qt, SQL, типы данных

В процессе разработки приложения под Qt , которое должно будет работать с базами данных необходимо учитывать тот нюанс, что драйвер Qt для целевой Базы Данных может не поддерживать все типы данных, которые Вы могли заложить в Вашу Базу Данных. Например, один из подобных примеров, с которым столкнулся один из Читателей сайта, это проблема с отображением типа данных DECIMAL через QSqlTableModel . В то время, как при разработке приложения на C++ Builder этот тип данных отлично отображался в представлении.

А работа производилась с базой данных MS SQL , для которой использовался драйвер ODBC . Результаты работы приложений на C++ Builder и на Qt приведены на нижеследующих рисунках. Разница во внешнем виде таблиц состоит в том, что в приложении на Qt отсутствуют значения в представлении, где тип данных в базе данных был объявлен как DECIMAL .

5 ноября 2015 г. 8:26

QML

QML, SQL, Qt, DataBase, QSqlQueryModel, TableView

Для представления таблиц баз данных в TableView при разработке с использованием QML можно использовать класс, наследованный от QSqlQueryModel. Для этого необходимо в наследованном классе определить метод, который установит соответствие ролей колонок таблицы к соответствующим колонкам в TableView, определенном в QML, где также указаны роли для каждого объекта TableViewColumn, то есть для каждой колонки. Также необходимо будет переопределить метод QVariant data( ... ) const , который возвращает данные для ячеек таблицы. В данном случае информация будет возвращаться в соответствии с определёнными ролями колонок таблицы.

Структура проекта для работы с TableView

Проект состоит из следующих файлов:

  • QmlSqlQueryModel.pro - профайл проекта;
  • database.h - заголовочный для создания и инициализации тестовой базы данных;
  • database.cpp - файл исходных кодов для создания и инициализации тестовой базы данных;
  • model.h - заголовочный файл модели данных;
  • model.cpp - файл исходных кодов модели данных;
  • main.cpp - основной исходный файл проекта;
  • main.qml - qml файл с TableView.
Последние комментарии
19 марта 2019 г. 12:57
AlexanderBardin

Добрый день. А проверить работоспособность локально как-то можно не указывая реальнй сайт (еще в разработке)
16 марта 2019 г. 13:55
Дмитрий

Спасибо за статью. Давно итересует следующий вопрос: с помощью переменных QMAKE_TARGET_COMPANYQMAKE_TARGET_PRODUCTQMAKE_TARGET_DESCRIPTIONможно задать свойства компилируемой программы, о...
JS
12 марта 2019 г. 10:19
Jean Stefanovich

Большое спасибо за разъяснения!
12 марта 2019 г. 10:04
Евгений Легоцкой

Hello, In fact, this functionality or is not implemented, or is not documented. I'm not sure. But I think, that it should be implemented in Text QML Type. Because of we can write text in...
12 марта 2019 г. 9:51
Евгений Легоцкой

Да вы правы. На самом деле проще через QSqlQueryModel, сколько не пытался использовать эти дженерики типо QSqlTableModel и QSqlRelationalTableModel, то всегда упирался в какие-то их ограничени...
Сейчас обсуждают на форуме
19 марта 2019 г. 13:43
AlexanderBardin

Очень интересная тема. У вас случайно нет статьи с полным циклом интреграции нескольких языков?Так сказать с нуля, что нужно, какие пакеты ставить, что куда писать. Тут вроде информации не ма...
17 марта 2019 г. 22:47
Евгений Легоцкой

Добрый день. Вот, нашлось у меня немного времени. Делается это через шаблон проектирования наблюдатель. GraphKS_mfvSlup.zip
ЧГ
15 марта 2019 г. 21:52
Чарльз Грин

спасибо, попробую, отпишусь
m
15 марта 2019 г. 19:41
mihamuz

Сори догадался)
n
12 марта 2019 г. 16:57
newbie.works.with.QT

Большооооое спасибо!!!!!Не передать как я вам благодарен, спасибо что всегда отзываетесь.Теперь я смогу продолжить работу в QT!!! (пробую писать бота (Я как вы могли догадаться немного не пр...
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы