Как правильно, загружать, читать, удалять, редактировать данные в таблицы mysql в qt?

Не нашел как правильно, загружать, читать, удалять, редактировать данные в таблицы mysql с использованием qt? Понимаю что где-то есть но не нашел. А очень охота сделать правильно, чтобы работало.


Ответы (1 шт):

Автор решения: Sergey Tatarincev

на сколько я понимаю речь о визуализации?

наиболее гибким и удобным является использование моделей (гуглим QSqlTableModel и QSqlQueryModel).

Минимум кода, максимум возможностей. например. если БД уже подключена

model = new QSqlTableModel();
ui->tableView->setModel(model); // просто назначаете виджету на форме модель данных
model->setTable("VIEW_NOTIFICATIONS"); // для модели достаточно назначить имя таблицы
model->select(); // и сделать выборку. остальное QT сделает за вас
model->setHeaderData(model->fieldIndex("N_ID"), Qt::Horizontal, QString::fromLocal8Bit("ID")); // Можете также задать заголовки для столбцов
model->setHeaderData(model->fieldIndex("N_DATE"), Qt::Horizontal, QString::fromLocal8Bit("Дата"));
model->setHeaderData(model->fieldIndex("N_TEXT"), Qt::Horizontal, QString::fromLocal8Bit("Текст"));
ui->tableView->setColumnHidden(model->fieldIndex("N_HIDE"),true); // какой-то столбец сделать скрытым
ui->tableView->resizeColumnsToContents();
ui->tableView->resizeRowsToContents();

кроме того почитайте про QSqlTableModel::data(const QModelIndex &index, int role = Qt::DisplayRole). Раскраска, выделение цветом, и прочите манипуляции при отображении вас порадуют.

→ Ссылка