#pragma once #include "DBBase.h" #include "DBStoreBase.h" #include namespace OTSSQLITE { class CSQLiteDB : public CDBBase//the implementation of sqlite db. { public: CSQLiteDB(CDBStoreBasePtr a_datastore,CDBTableBasePtr a_tableInfo ); virtual ~CSQLiteDB(void); virtual BOOL Init(const BOOL a_bClean = FALSE) override; virtual BOOL CreateTable(const BOOL a_bForce = FALSE) override; virtual BOOL DeleteTable() override; virtual BOOL RemoveAllRows() override; virtual BOOL IsDBExist() override; virtual CDBStoreBasePtr GetDatastore() override { return m_datastorePtr; } virtual CDBQueryBasePtr GetTableQuery(LPCTSTR a_sOrderColumnName = nullptr)override; virtual CDBQueryBasePtr GetCommandStringQuery(LPCTSTR a_commandStr)override; virtual CDBTableBasePtr GetTableInfo() override; protected: CString GetReadColumnError(const int a_colId); protected: CDBStoreBasePtr m_datastorePtr; CDBTableBasePtr m_tableInfo; }; typedef std::shared_ptr CSQLiteDBPtr; }