Hallo,
Could I please ask you to have a look at the below pieces of code? I have got a problem to output the content of my mysql's table into the QTableView which (QTableView) I composed using the QtCreator Designer. I mean, the thing is, that after compiling and running the applications there is the QTableView visible with the headers and counted rows but with no content. Could you please point me out where and what I am doing incorrect? I use Qt Creator 3.5.1 (opensource) , Ubuntu 15.10. Thank you.
practice_clients.h
#ifndef PRACTICE_CLIENTS_H
#define PRACTICE_CLIENTS_H
#include <QtSql/QSql>
#include <QCoreApplication>
#include <QtSql/QSqlDriverPlugin>
#include <QDialog>
#include <QDebug>
#include <QFileInfo>
#include <QtSql/qsqldatabase.h>
#include <QtSql/QSqlQuery>
#include <QDebug>
#include <QSqlQueryModel>
#include <QSqlTableModel>
#include <QMessageBox>
#include <QSqlError>
#include <QMainWindow>
namespace Ui {
class Practice_Clients;
}
{
Q_OBJECT
public:
explicit Practice_Clients
(QWidget *parent
= 0);
~Practice_Clients();
private:
Ui::Practice_Clients *ui;
//QSqlQuery* query;
//QSqlQueryModel *modal;
//QSqlTableModel table_model;
};
#endif // PRACTICE_CLIENTS_H
#ifndef PRACTICE_CLIENTS_H
#define PRACTICE_CLIENTS_H
#include <QtSql/QSql>
#include <QCoreApplication>
#include <QtSql/QSqlDriverPlugin>
#include <QDialog>
#include <QDebug>
#include <QFileInfo>
#include <QtSql/qsqldatabase.h>
#include <QtSql/QSqlQuery>
#include <QDebug>
#include <QSqlQueryModel>
#include <QSqlTableModel>
#include <QMessageBox>
#include <QSqlError>
#include <QMainWindow>
namespace Ui {
class Practice_Clients;
}
class Practice_Clients : public QMainWindow
{
Q_OBJECT
public:
explicit Practice_Clients(QWidget *parent = 0);
~Practice_Clients();
private:
Ui::Practice_Clients *ui;
QSqlDatabase practice_clients_db;
//QSqlQuery* query;
//QSqlQueryModel *modal;
//QSqlTableModel table_model;
};
#endif // PRACTICE_CLIENTS_H
To copy to clipboard, switch view to plain text mode
and practice_clients.cpp
#include "practice_clients.h"
#include "ui_practice_clients.h"
Practice_Clients
::Practice_Clients(QWidget *parent
) : ui(new Ui::Practice_Clients)
{
ui->setupUi(this);
practice_clients_db.setHostName("127.0.0.1");
practice_clients_db.setDatabaseName("qt_mysql");
practice_clients_db.setUserName("");
practice_clients_db.setPassword("");
practice_clients_db.open();
if (!practice_clients_db.open())
{
qDebug() << "Error";
}
qDebug() << practice_clients_db.open();
query->prepare("SELECT * FROM gkUsers");
query->exec();
modal->setQuery(*query);
ui->tableView->setModel(modal);
//practice_clients_db.close();
//qDebug() << model->rowCount();
}
Practice_Clients::~Practice_Clients()
{
delete ui;
}
#include "practice_clients.h"
#include "ui_practice_clients.h"
Practice_Clients::Practice_Clients(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Practice_Clients)
{
ui->setupUi(this);
QSqlDatabase practice_clients_db = QSqlDatabase::addDatabase("QMYSQL");
practice_clients_db.setHostName("127.0.0.1");
practice_clients_db.setDatabaseName("qt_mysql");
practice_clients_db.setUserName("");
practice_clients_db.setPassword("");
practice_clients_db.open();
if (!practice_clients_db.open())
{
qDebug() << "Error";
}
qDebug() << practice_clients_db.open();
QSqlQueryModel *modal = new QSqlQueryModel();
QSqlQuery* query = new QSqlQuery();
query->prepare("SELECT * FROM gkUsers");
query->exec();
modal->setQuery(*query);
ui->tableView->setModel(modal);
//practice_clients_db.close();
//qDebug() << model->rowCount();
}
Practice_Clients::~Practice_Clients()
{
delete ui;
}
To copy to clipboard, switch view to plain text mode
Bookmarks