changed more raw pointers to smart pointers
This commit is contained in:
19
database.cpp
19
database.cpp
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user