80 lines
1.9 KiB
C++
80 lines
1.9 KiB
C++
#include "database.h"
|
|
|
|
#include <iostream>
|
|
#include <cstring>
|
|
#include <QVariant>
|
|
|
|
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<QString> > DataBase::getData2(std::string statement, int cols){
|
|
|
|
vector<QString> data;
|
|
vector< vector<QString> > 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<QString> > DataBase::getData(std::string statement, int cols){
|
|
|
|
char * buffer = new char[statement.length()+1];
|
|
strcpy(buffer,statement.c_str());
|
|
vector<QString> data;
|
|
vector< vector<QString> > 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();
|
|
}
|