ElementRangeDB.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #pragma once
  2. #include "DBBase.h"
  3. #include "STDItem.h"
  4. namespace OTSSQLITE
  5. {
  6. //using namespace OTSClassifyEngine;
  7. //using namespace OTSSQLITE;
  8. using namespace OTSDATA;
  9. class CElementRangeDB : public CDBBase
  10. {
  11. public:
  12. CElementRangeDB(CDBStoreBasePtr a_datastore);
  13. ~CElementRangeDB();
  14. CElementRangeList GetElementRangeListById(const long a_nIncAId, const long a_nElementSize);
  15. CSTDItemsList& GetSTDItemList(const BOOL a_bForce = FALSE);
  16. virtual CDBTableBasePtr GetTableInfo() override;
  17. virtual BOOL Init(const BOOL a_bClean = FALSE) override;
  18. virtual BOOL CreateTable(const BOOL a_bForce = FALSE) override;
  19. virtual BOOL DeleteTable() override;
  20. virtual BOOL RemoveAllRows() override;
  21. virtual BOOL IsDBExist() override;
  22. virtual CDBStoreBasePtr GetDatastore() override;
  23. virtual CDBQueryBasePtr GetTableQuery(LPCTSTR a_sOrderColumnName = nullptr) override;
  24. protected:
  25. BOOL ReadSTDItemList();
  26. CSTDItemsList ReadSTDItemList(CDBQueryBasePtr a_query);
  27. CSTDItemPtr ReadSTDItem(CDBQueryBasePtr a_query);
  28. CDBQueryBasePtr GetQueryById(const long a_nSTDId, const long a_nElementId, const long a_nElementNum);
  29. protected:
  30. CDBTableBasePtr m_tableInfo;
  31. CElementRangeList m_listElementRange;
  32. CSTDItemsList m_listSTDItem;
  33. private:
  34. CDBBasePtr myDB;
  35. };
  36. typedef std::shared_ptr<CElementRangeDB> CElementRangeDBPtr;
  37. }