#pragma once #include "DBFileBase.h" #include "DBQueryBase.h" namespace OTSSQLITE { class CDBStoreFile; class __declspec(dllexport) CDBStoreBase :public DBFileBase { public: virtual BOOL IsTableExists(LPCTSTR a_sTableName) = 0; virtual std::vector GetTableList() = 0; virtual CDBQueryBasePtr QueryByTableName(LPCTSTR a_sTableName, LPCTSTR a_sOrderColumnName) = 0; virtual CDBQueryBasePtr QueryByCommand(LPCTSTR a_sQueryString) = 0; virtual BOOL DeleteTable(LPCTSTR a_sTableName) = 0; virtual BOOL RunCommand(LPCTSTR a_sCommandString, const BOOL a_bIgnoreExist = FALSE) = 0; virtual BOOL Commit() = 0; virtual BOOL BeginTransaction() = 0; virtual BOOL CommitTransaction() = 0; virtual BOOL CloseSynchronous()=0; virtual long GetLastRowId(LPCTSTR a_sTableName = nullptr) = 0; //virtual CDBStoreFile* GetDatastoreFile() = 0; virtual BOOL InsertBlobData(char* szSql, const void* pBlobData, int iBlobDataLen) = 0; }; typedef std::shared_ptr __declspec(dllexport) CDBStoreBasePtr; __declspec(dllexport) CDBStoreBasePtr CreateNewSQLiteStore(); }