| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | #pragma once#include "DBBase.h"#include "OTSParticle.h"#include "OTSSegment.h"namespace OTSSQLITE{	using namespace OTSDATA;	using namespace OTSSQLITE;	class  __declspec(dllexport) CSegmentDB 	{	public:		CSegmentDB(CDBStoreBasePtr a_datastore);		~CSegmentDB();		COTSFeaturePtr GetFeatureById(const long a_nXrayId, const long a_nFieldId, const long a_nSegmentSize);		COTSParticleList& GetParticleInfoList(const BOOL a_bForce = FALSE);		BOOL SaveFeature(const COTSParticleList& a_ParticleList);		BOOL SaveFeature(const COTSParticlePtr a_pParticle);		BOOL DeleteFeatureById(const long a_nFieldId, const long a_nXrayId);		virtual CDBTableBasePtr GetTableInfo() ;		bool GetAllSegmentsRecord(std::map < std::vector <int>, COTSSegmentsList>& mapSegments);		virtual BOOL Init(const BOOL a_bClean = FALSE) ;		virtual BOOL CreateTable(const BOOL a_bForce = FALSE) ;		virtual BOOL DeleteTable() ;		virtual BOOL RemoveAllRows() ;		virtual BOOL IsDBExist() ;		virtual CDBStoreBasePtr GetDatastore() ;		virtual CDBQueryBasePtr GetTableQuery(LPCTSTR a_sOrderColumnName = nullptr) ;	protected:		BOOL ReadParticleInfoList();		COTSParticleList ReadParticleInfoList(CDBQueryBasePtr a_query);		COTSParticlePtr ReadParticleInfo(CDBQueryBasePtr a_query);		CDBQueryBasePtr GetQueryById(const long a_nXrayId, const long a_nFieldId, const long a_nSegmentId, const long a_nSegmentNum);		CDBQueryBasePtr GetQueryOfAllRecord();	protected:		CDBTableBasePtr m_tableInfo;		COTSFeaturePtr m_pFeature; 		COTSParticleList m_listParticle;	private:		CDBBasePtr myDB;	};	typedef std::shared_ptr<CSegmentDB>  __declspec(dllexport) CSegmentDBPtr;}
 |