#include "database.h" #include #include #include using std::vector; DataBase::DataBase() { this->db = new QSqlDatabase(); *this->db = QSqlDatabase::addDatabase("QSQLITE"); this->db->setDatabaseName("Renndatenbank.sqlite"); std::cout << "Konstruktor Database" << std::endl; } DataBase::~DataBase(){ std::cout << "Destruktor aus Datenbank" << std::endl; delete this->db; //delete this; } vector< vector > DataBase::getData2(std::string statement, int cols){ vector data; vector< vector > lines; bool ok = this->db->open(); QString qstr; if(ok){ QSqlQuery query; query.exec(QString::fromStdString(statement)); while(query.next()){ for(int i = 0; i < cols; i++){ qstr = query.value(i).toString(); data.push_back(qstr); } lines.push_back(data); data.erase(data.begin(), data.begin()+cols); } } this->db->close(); return lines; } vector< vector > DataBase::getData(std::string statement, int cols){ char * buffer = new char[statement.length()+1]; strcpy(buffer,statement.c_str()); vector data; vector< vector > lines; bool ok = this->db->open(); QString qstr; if(ok){ QSqlQuery query(buffer); while(query.next()){ for(int i = 0; i < cols; i++){ qstr = query.value(i).toString(); data.push_back(qstr); } lines.push_back(data); data.erase(data.begin(), data.begin()+cols); } } this->db->close(); delete[] buffer; return lines; } void DataBase::setData(std::string statement){ char * buffer = new char[statement.length()+1]; strcpy(buffer,statement.c_str()); bool ok = this->db->open(); if(ok){ QSqlQuery query(buffer); } this->db->close(); }