changed more raw pointers to smart pointers

This commit is contained in:
2018-12-28 22:48:47 +01:00
parent fcec2ad4b4
commit a811514b04
8 changed files with 64 additions and 52 deletions

View File

@@ -7,15 +7,13 @@
using std::vector;
DataBase::DataBase() {
this->db = new QSqlDatabase();
this->db = std::make_shared<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) {
@@ -58,14 +56,15 @@ QStringList DataBase::getDataQStringList(std::string statement) {
vector<vector<QString>> DataBase::getData(std::string statement, int cols) {
char * buffer = new char[statement.length() + 1];
strcpy(buffer, statement.c_str());
// char * buffer = new char[statement.length() + 1];
std::shared_ptr<char> buffer(new char[statement.length() + 1]);
strcpy(buffer.get(), statement.c_str());
vector<QString> data;
vector<vector<QString>> lines;
bool ok = this->db->open();
QString qstr;
if (ok) {
QSqlQuery query(buffer);
QSqlQuery query(buffer.get());
while (query.next()) {
@@ -78,16 +77,16 @@ vector<vector<QString>> DataBase::getData(std::string statement, int cols) {
}
}
this->db->close();
delete[] buffer;
// delete[] buffer;
return lines;
}
void DataBase::setData(std::string statement) {
char * buffer = new char[statement.length() + 1];
strcpy(buffer, statement.c_str());
std::shared_ptr<char> buffer(new char[statement.length() + 1]);
strcpy(buffer.get(), statement.c_str());
bool ok = this->db->open();
if (ok) {
QSqlQuery query(buffer);
QSqlQuery query(buffer.get());
}
this->db->close();
}