#ifndef TABLE_INFO_SQLITE_H #define TABLE_INFO_SQLITE_H #include "table_info_interface.h" #include #include #include #include #include #include class TableInfoSQLite : public TableInfoInterface { private: QString databaseTableName_; QVector columnNames_; QVector columnTypes_; QVector 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