Здравствуйте, стал изучить работу с БД в Qt creator... Создал БД в SQLite, в ней пару таблиц связал их, немного заполнил, да дай думаю красиво это все выведу в TableView. Но не все так хорошо у меня получилось как планировалось...
Дело, в том что вывелась просто вся информация с таблицы вместе со всеми индексами, и названиями полей. Поэтому у меня такой вопрос, как сделать, так чтобы к выводу в TableWiew можно было бы добавить запрос и изменить названия полей(к примеру вывести только ФИО и номер, ну соответственно переименовать названия столбцов в это значение). Вот мой код
Подключение к БД
database.h
#ifndef DATABASE_H
#define DATABASE_H
#include <QtSql/QSqlDatabase>
class DataBase
{
private:
QSqlDatabase db;
public:
static DataBase* getInstance();
QSqlDatabase getConnection();
void connect();
void disconnect();
};
#endif // DATABASE_H
database.cpp
#include "database.h"
void DataBase::connect()
{
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("C:\\\Desktop\\SchoolDB\\app_data\\database.db3");
if(db.open())
{
qDebug("Database is open");
}
else
{
qDebug("Database isn't open");
}
}
DataBase* DataBase::getInstance()
{
static DataBase instance;
return &instance;
}
QSqlDatabase DataBase::getConnection()
{
return db;
}
void DataBase::disconnect()
{
db.close();
}
форма для вывода данных из БД
staffs_form.h
#ifndef STAFFS_FORM_H
#define STAFFS_FORM_H
#include <QMainWindow>
#include <QtSql>
#include "QtSql/QSqlDatabase"
#include "QSqlQuery"
namespace Ui {
class StaffsForm;
}
class StaffsForm : public QMainWindow
{
Q_OBJECT
public:
explicit StaffsForm(QWidget *parent = 0);
~StaffsForm();
private:
Ui::StaffsForm *ui;
QSqlTableModel* model;
};
#endif // STAFFS_FORM_H
staffs_form.cpp
#include "staffs_form.h"
#include "ui_staffs_form.h"
#include "app_data/database.h"
StaffsForm::StaffsForm(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::StaffsForm)
{
ui->setupUi(this);
DataBase::getInstance()->connect();
model = new QSqlTableModel(0, DataBase::getInstance()->getConnection());
model->setTable("staffs");
model->select();
ui->tableView->setModel(model);
}
StaffsForm::~StaffsForm()
{
DataBase::getInstance()->disconnect();
delete ui;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый вечерУ меня такой вопрос, недавно лазил в инете и наткнулся на такой код: return*this*Fraction(fra
Доброго времени суток коллегиЕсть задача используя QTableWidget проверять введенные пользователем данные в ячейки с помощью нехитрой конструкции
Имеется следующая функцияНадо чтобы вывелось сообщение на другой странице когда осуществится переход window