История изменений
Исправление
farex,
(текущая версия)
:
Воспользовался вашим советом, остановился и все пересмотрел и обдумал.
Да в голове была каша когда я это писал.
Не могли бы вы посмотреть на код который я написал ниже и указать на новые ошибки.
Проект имеет следующие файлы:
Заголовочные:
connection_db.h (заголовочный файл созданный мной)
mainwindow.h (тут все по умолчанию)
Исходные файлы:
connection_db.cpp (исходный файл созданный мной)
main.cpp (тут все по умолчанию)
mainwindow.cpp
connection_db.h
#ifndef CONNECTION_DB_H
#define CONNECTION_DB_H
#include "QtSql"
#include "QString"
class connection_db
{
public:
connection_db();
QSqlDatabase sdb = QSqlDatabase::addDatabase("QSQLITE");
int open();
int close();
QString patch_to_db;
};
#endif // CONNECTION_DB_H
connection_db.h
#include "connection_db.h"
#include "QtSql"
connection_db::connection_db()
{
}
connection_db::open()
{
sdb.setDatabaseName(patch_to_db);
sdb.open();
return 1;
}
connection_db::close()
{
sdb.close();
return 0;
}
И mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "connection_db.h"
#include "QMessageBox"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
connection_db conn_db;
conn_db.patch_to_db = "C:\\Project\\test_sql\\test.db";
if(conn_db.open() == 1){
QSqlQueryModel* model;
model = new QSqlQueryModel();
model->setQuery("SELECT * FROM table1");
ui->tableView->setModel(model);
conn_db.close();
// qDebug() << query->lastError();
}
else if(conn_db.open() == 0){
QMessageBox message_box;
message_box.setText("Connection not open");
message_box.exec();
}
}
Исходная версия
farex,
:
Всем спасибо за ответы.
Воспользовался вашим советом, остановился и все пересмотрел и обдумал.
Да в голове была каша когда я это писал.
Не могли бы вы посмотреть на код который я написал ниже и указать на новые ошибки.
Проект имеет следующие файлы:
Заголовочные:
connection_db.h (заголовочный файл созданный мной)
mainwindow.h (тут все по умолчанию)
Исходные файлы:
connection_db.cpp (исходный файл созданный мной)
main.cpp (тут все по умолчанию)
mainwindow.cpp
connection_db.h
#ifndef CONNECTION_DB_H
#define CONNECTION_DB_H
#include "QtSql"
#include "QString"
class connection_db
{
public:
connection_db();
QSqlDatabase sdb = QSqlDatabase::addDatabase("QSQLITE");
int open();
int close();
QString patch_to_db;
};
#endif // CONNECTION_DB_H
connection_db.h
#include "connection_db.h"
#include "QtSql"
connection_db::connection_db()
{
}
connection_db::open()
{
sdb.setDatabaseName(patch_to_db);
sdb.open();
return 1;
}
connection_db::close()
{
sdb.close();
return 0;
}
И mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "connection_db.h"
#include "QMessageBox"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
connection_db conn_db;
conn_db.patch_to_db = "C:\\Project\\test_sql\\test.db";
if(conn_db.open() == 1){
QSqlQueryModel* model;
model = new QSqlQueryModel();
model->setQuery("SELECT * FROM table1");
ui->tableView->setModel(model);
// qDebug() << query->lastError();
}
else if(conn_db.open() == 0){
QMessageBox message_box;
message_box.setText("Connection not open");
message_box.exec();
}
}