Files
Rennbahn/database.cpp

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();
}