When I run my program, the console says that db is not open and tableView does not include a thing:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDebug"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("./DB_gym.db");
query = new QSqlQuery(db);
query->exec("CREATE TABLE asd(first TEXT, second TEXT, third INT);");
model = new QSqlTableModel(this, db);
model->setTable("asd");
model->select();
ui->tableView->setModel(model);
}
MainWindow::~MainWindow()
{
delete ui;
}
Headers file
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlTableModel>
#include <QTableView>
#include <QGridLayout>
#include <QMessageBox>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QSqlDatabase db;
QSqlQuery *query;
QSqlTableModel *model;
QMessageBox *msg;
};
#endif // MAINWINDOW_H
Why db is not opened?
