Console: Remove use of QSqlDatabase::exec()

This commit is contained in:
Jonas Kvinge
2023-03-18 01:48:51 +01:00
parent 658dce2607
commit c95295d8b4

View File

@@ -29,12 +29,14 @@
#include <QSqlDatabase> #include <QSqlDatabase>
#include <QSqlQuery> #include <QSqlQuery>
#include <QSqlRecord> #include <QSqlRecord>
#include <QSqlError>
#include <QLineEdit> #include <QLineEdit>
#include <QPushButton> #include <QPushButton>
#include <QScrollBar> #include <QScrollBar>
#include <QTextBrowser> #include <QTextBrowser>
#include "console.h" #include "console.h"
#include "core/logging.h"
#include "core/application.h" #include "core/application.h"
#include "core/database.h" #include "core/database.h"
@@ -57,14 +59,16 @@ Console::Console(Application *app, QWidget *parent) : QDialog(parent), ui_{}, ap
void Console::RunQuery() { void Console::RunQuery() {
QSqlDatabase db = app_->database()->Connect(); QSqlDatabase db = app_->database()->Connect();
QSqlQuery query = db.exec(ui_.query->text()); QSqlQuery query(db);
//ui_.query->clear(); query.prepare(ui_.query->text());
if (!query.exec()) {
qLog(Error) << query.lastError();
return;
}
ui_.output->append("<b>&gt; " + query.executedQuery() + "</b>"); ui_.output->append("<b>&gt; " + query.executedQuery() + "</b>");
query.next(); while (query.next() && query.isValid()) {
while (query.isValid()) {
QSqlRecord record = query.record(); QSqlRecord record = query.record();
QStringList values; // clazy:exclude=container-inside-loop QStringList values; // clazy:exclude=container-inside-loop
values.reserve(record.count()); values.reserve(record.count());
@@ -74,7 +78,6 @@ void Console::RunQuery() {
ui_.output->append(values.join("|")); ui_.output->append(values.join("|"));
query.next();
} }
ui_.output->verticalScrollBar()->setValue(ui_.output->verticalScrollBar()->maximum()); ui_.output->verticalScrollBar()->setValue(ui_.output->verticalScrollBar()->maximum());