XRayDataDB.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include "DBBase.h"
  3. #include "PosXray.h"
  4. namespace OTSSQLITE
  5. {
  6. using namespace OTSDATA;
  7. using namespace OTSSQLITE;
  8. class __declspec(dllexport) CXRayDataDB
  9. {
  10. public:
  11. CXRayDataDB(CDBStoreBasePtr a_datastore);
  12. ~CXRayDataDB();
  13. CPosXrayPtr GetXRayDataById(const long a_nXrayId, const long a_nFieldId);
  14. CPosXraysList& GetXrayList(const BOOL a_bForce = FALSE);
  15. BOOL SavePosXrayPtr(const CPosXrayPtr a_pXray);
  16. BOOL DeletePosXrayById(const long a_nFieldId, const long a_nXrayId);
  17. virtual CDBTableBasePtr GetTableInfo() ;
  18. virtual BOOL Init(const BOOL a_bClean = FALSE) ;
  19. virtual BOOL CreateTable(const BOOL a_bForce = FALSE) ;
  20. virtual BOOL DeleteTable() ;
  21. virtual BOOL RemoveAllRows() ;
  22. virtual BOOL IsDBExist() ;
  23. virtual CDBStoreBasePtr GetDatastore() ;
  24. virtual CDBQueryBasePtr GetTableQuery(LPCTSTR a_sOrderColumnName = nullptr) ;
  25. protected:
  26. BOOL ReadAllXrayList();
  27. BOOL ReadXrayListFromAQuery(CDBQueryBasePtr a_query, CPosXraysList & a_XrayList);
  28. BOOL ReadOnePosXray(CDBQueryBasePtr a_query, CPosXrayPtr & a_xray);
  29. CDBQueryBasePtr GetQueryById(const long a_nXrayId, const long a_nFieldId);
  30. protected:
  31. CDBTableBasePtr m_tableInfo;
  32. CPosXraysList m_listPosXray;
  33. private:
  34. CDBBasePtr myDB;
  35. };
  36. typedef std::shared_ptr<CXRayDataDB> __declspec(dllexport) CXRayDataDBPtr;
  37. }