Files

47 lines
1.1 KiB
C++
Raw Permalink Normal View History

2026-07-12 14:34:52 +04:00
#ifndef TABLE_INFO_SQLITE_H
#define TABLE_INFO_SQLITE_H
#include "table_info_interface.h"
#include <QMetaType>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlRecord>
#include <QStringList>
#include <QVector>
class TableInfoSQLite : public TableInfoInterface {
private:
QString databaseTableName_;
QVector<QString> columnNames_;
QVector<QString> columnTypes_;
QVector<bool> isPrimaryKey_;
public:
explicit TableInfoSQLite();
explicit TableInfoSQLite(const QString &databaseTableName);
~TableInfoSQLite() override = default;
QMetaType::Type
columnMetaType(const QString &columnName) const noexcept override;
QString columnName(int columnIndex) const noexcept override;
QString databaseTableName() const noexcept override;
QString foreignKeyTable(const QString &columnName) const noexcept;
QStringList columnNames() const noexcept override;
bool isPrimaryKey(const QString &columnName) const noexcept;
int columnIndex(const QString &columnName) const noexcept override;
void
setDatabaseTableName(const QString &databaseNametableName) noexcept override;
private:
void loadColumnInfo();
};
#endif // TABLE_INFO_SQLITE_H