Хранение данных в классе Qt
А не подскажете, как лучше хранить данные в классе в такой задаче?
Предположим нужен класс, который делает экспорт из текстового файла данные в SQLite и там допустим есть такие данные:
class Converter
{
struct TStudent {
QString m_FirstName;
QString m_LastName;
QDate m_Birthday;
int m_Sex;
int m_Mark;
};
using TStudentMap = QMap<int, TStudent>;
public:
explicit Converter(QObject *parent = nullptr);
void exportDB(const TStudentMap &student);
TStudentMap importDB();
// ...
// далее пишем сеттеры/геттеры и другие полезные методы
};
Или не мучатся со структурой и просто всё записать в QVariant?
class Converter
{
using VariantMap = QMap<int, QVariant>;
QHash<int, VariantMap> m_Student;
public:
explicit Converter(QObject *parent = nullptr);
void exportDB(const QVariant &student);
QVariant importDB();
// ...
// далее пишем сеттеры/геттеры и другие полезные методы
};
Всё равно потом вставлять всё в sql-запрос в виде строк…
У второго варианта удобнее обрабатывать столбцы таблицы, так как можно просто зарядить их в цикл и просто вызвать:
query.bindValue(column, m_Student[row].value(column));
А может ещё какие то варианты есть?