#pragma once #include "DBBase.h" #include "OTSSTDLib.h" //#include "elementDB.h" #include "mineralgroupDB.h" using namespace OTSSQLITE; namespace OTSClassifyEngine { class __declspec(dllexport) CSTDLibDB : public CDBBase { public: CSTDLibDB(CDBStoreBasePtr a_datastore); CSTDLibDB(CDBStoreBasePtr a_datastore, CString strFileName); ~CSTDLibDB(); CSTDLibPtr GetSTDLib(BOOL bForce = FALSE); virtual CDBTableBasePtr GetTableInfo() override; //CElementDBPtr GetElementDB(); CMineralGroupDBPtr GetMineralGroupDB(); 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; virtual CDBQueryBasePtr GetTableQuery(LPCTSTR a_sOrderColumnName = nullptr) override; protected: BOOL ReadSTDLib(); BOOL ReadSTDLib(CDBQueryBasePtr a_query); CStandardItemPtr ReadSTDItem(CDBQueryBasePtr a_query); //BOOL GetElements(CStandardItemPtr& pSTDMineral); BOOL GetMineralGroup(CSTDLibPtr& pOretype); BOOL ReadPartSTDLib(); BOOL ReadPartSTDLib(CDBQueryBasePtr a_query); protected: CString m_strFileName; CDBTableBasePtr m_tableInfo; CSTDLibPtr m_pSTDLib; //CElementDBPtr m_elementDB; CMineralGroupDBPtr m_mineralgroupDB; private: CDBBasePtr myDB; }; typedef std::shared_ptr __declspec(dllexport) CSTDLibDBPtr; }