server-sdk/src/serversdk/databasemanager.cpp
2019-11-06 15:03:21 +01:00

57 lines
1.5 KiB
C++

#include "databasemanager.h"
namespace serversdk {
DatabaseManager::DatabaseManager(const QString& host, const QString& dbName, const QString& user, const QString& password, bool dryMode)
: mDryMode(dryMode)
{
db = QSqlDatabase::addDatabase("QPSQL");
db.setDatabaseName(dbName);
db.setHostName(host);
db.setUserName(user); // home-office stuff -->> db.setPort(80);
db.setPassword(password);
if (db.open())
{
query = QSqlQuery("query", db);
} else {
log("Opening error" + db.lastError().text());
emit error();
}
}
bool DatabaseManager::executeQuery(QSqlQuery &query)
{
if (mDryMode){
QString sqlStatement = getLastQuery(query);
qDebug() << sqlStatement;
}
if (!mDryMode || query.isSelect()){
if (!query.exec()){
QString msg = QString("Source: Database Manager, Error: %1").arg(query.lastError().text());
log(QString(msg));
emit error();
}
}
return true;
}
QString DatabaseManager::getLastQuery(const QSqlQuery& query) const
{
QString str = query.lastQuery();
QMapIterator<QString, QVariant> it(query.boundValues());
while (it.hasNext())
{
it.next();
str.replace(it.key(),it.value().toString());
}
return str;
}
void DatabaseManager::log(const QString &msg) const
{
qDebug() << "database logger implement logger";
}
} // core