42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
//
|
|
// Created by selim on 09.11.22.
|
|
//
|
|
|
|
#include "IDBEntity.h"
|
|
|
|
std::string IDBEntity::readString(sqlite3_stmt *stmt, int column) {
|
|
return { reinterpret_cast<const char*>(sqlite3_column_text(stmt, column)) };
|
|
}
|
|
|
|
int IDBEntity::readInt(sqlite3_stmt *stmt, int column) {
|
|
return sqlite3_column_int(stmt, column);
|
|
}
|
|
|
|
double IDBEntity::readDouble(sqlite3_stmt *stmt, int column) {
|
|
return sqlite3_column_double(stmt, column);
|
|
}
|
|
|
|
StringOptional IDBEntity::readStringOptional(sqlite3_stmt *stmt, int column) {
|
|
if(sqlite3_column_type(stmt, column) == SQLITE_NULL) {
|
|
return std::nullopt;
|
|
} else {
|
|
return readString(stmt, column);
|
|
}
|
|
}
|
|
|
|
IntOptional IDBEntity::readIntOptional(sqlite3_stmt *stmt, int column) {
|
|
if(sqlite3_column_type(stmt, column) == SQLITE_NULL) {
|
|
return std::nullopt;
|
|
} else {
|
|
return readInt(stmt, column);
|
|
}
|
|
}
|
|
|
|
DoubleOptional IDBEntity::readDoubleOptional(sqlite3_stmt *stmt, int column) {
|
|
if(sqlite3_column_type(stmt, column) == SQLITE_NULL) {
|
|
return std::nullopt;
|
|
} else {
|
|
return readDouble(stmt, column);
|
|
}
|
|
}
|