#pragma once #include "DBBase.h" #include "OTSParticle.h" #include "PosXray.h" #include "OTSFieldData.h" namespace OTSSQLITE { using namespace OTSDATA; //using namespace OTSSQLITE; class __declspec(dllexport) CIncADataDB { public: CIncADataDB(CDBStoreBasePtr a_datastore); ~CIncADataDB(); BOOL SaveAIncA(const COTSParticlePtr a_pParticle, const CPosXrayPtr a_pXray,const CPoint fldPos); BOOL UpdataAIncA(const COTSParticlePtr a_pParticle); virtual CDBTableBasePtr GetTableInfo() ; bool GetAllFieldsRecord(COTSFieldDataList& allFlds); 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: CDBQueryBasePtr GetQueryById(const long a_nXrayId, const long a_nFieldId); CDBQueryBasePtr GetQueryOfAllRecord(); protected: CDBTableBasePtr m_tableInfo; COTSParticlePtr m_pParticle; CPosXrayPtr m_pXray; private: CDBBasePtr myDB; }; typedef std::shared_ptr __declspec(dllexport) CIncADataDBPtr; }