diff --git a/src/sqlexplorer.cpp b/src/sqlexplorer.cpp index 1dc5caf..716f4ea 100644 --- a/src/sqlexplorer.cpp +++ b/src/sqlexplorer.cpp @@ -1,11 +1,13 @@ -#include "sqlexplorer.h" #include "./ui_sqlexplorer.h" +#include "sqlexplorer.h" #include "credentials.h" #include #include #include #include +#include + sqlExplorer::sqlExplorer(QWidget *parent) : QMainWindow(parent) @@ -19,6 +21,8 @@ sqlExplorer::sqlExplorer(QWidget *parent) // //Connect ui components to respective slots // connect(ui->queryEditor,&QTextEdit::textChanged, // this,&Widget::weight_changed); + connect(ui->queryButton,&QPushButton::pressed, + this,&sqlExplorer::queryCommand); printf("pqxx VERSION: %s\n", PQXX_VERSION); qDebug() << "Version:" << QLibraryInfo::version(); @@ -26,7 +30,12 @@ sqlExplorer::sqlExplorer(QWidget *parent) queryCommand(); } -void sqlExplorer::queryCommand() +// void sqlExplorer::newQuery() // std::string queryText +// { +// queryCommand(queryText); +// } + +void sqlExplorer::queryCommand() // std::string queryText { try{ std::string combine = combinedCreds(); @@ -37,18 +46,25 @@ void sqlExplorer::queryCommand() pqxx::work txn{dbConn}; // pqxx::result r = txn.exec("SELECT table_name FROM information_schema.tables WHERE table_type='BASE TABLE' AND table_schema='public';"); + queryText = ui->queryEditor->toPlainText(); pqxx::result r = txn.exec(queryText.toStdString()); std::cout << r.columns() << "\n"; std::cout << r.size() << "\n"; - - std::cout << r[1][1] << "\n"; + // std::cout << typeid(r.columns()).name() << "\n"; + + model = new QStandardItemModel(r.size(), r.columns()); - for (auto row : r) - { - for (auto col : row) - {std::cout << col << "\n";} + for (int row = 0; row < model->rowCount(); ++row) { + for (int column = 0; column < model->columnCount(); ++column) { + QStandardItem *item = new QStandardItem(QString(r[row][column].c_str())); // "row %0, column %1").arg(row).arg(column + model->setItem(row, column, item); } + } + + ui->resultsView->setModel(model); + ui->resultsView->resizeColumnsToContents(); + // std::cout << "Columns:\n"; // for (pqxx::row_size_type col = 0; col < r.columns(); ++col) diff --git a/src/sqlexplorer.h b/src/sqlexplorer.h index 02a5b7f..cb86c70 100644 --- a/src/sqlexplorer.h +++ b/src/sqlexplorer.h @@ -1,9 +1,12 @@ -#ifndef SQLSEARCH_H -#define SQLSEARCH_H +#ifndef SQLEXPLORER_H +#define SQLEXPLORER_H #include #include "query.h" + +class QStandardItemModel; + QT_BEGIN_NAMESPACE namespace Ui { class sqlExplorer; @@ -20,9 +23,12 @@ class sqlExplorer : public QMainWindow private: Ui::sqlExplorer *ui; + QStandardItemModel *model; QString queryText; private slots: - void queryCommand(); + void queryCommand(); // std::string queryText + // void newQuery(std::string queryText); }; -#endif // SQLSEARCH_H + +#endif // SQLEXPLORER_H