DBTableBase.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include"ColumnType.h"
  3. namespace OTSSQLITE
  4. {
  5. class __declspec(dllexport) CDBTableBase
  6. {
  7. public:
  8. virtual void AddColumn(ColumnDefine col)=0;
  9. virtual int GetColumnCount() = 0;
  10. virtual CString GetTableName() = 0;
  11. virtual void SetTableName(LPCTSTR a_sTableName) = 0;
  12. virtual CString GetColumnName(const int a_nColId) = 0;
  13. virtual CString GetColumnFullName(const int a_nColId) = 0;
  14. virtual CString GetColumnNames(const BOOL a_bWithPrimary = TRUE) = 0;
  15. virtual CString GetColumnFullNames(const BOOL a_bWithPrimary = TRUE) = 0;
  16. virtual ColumnType GetColumnType(const int a_nColId) = 0;
  17. virtual CString GetCreateTableCommandString() = 0;
  18. virtual CString GetDeleteTableCommandString() = 0;
  19. virtual CString GetRemoveAllRowsCommandString() = 0;
  20. virtual CString GetInsertCommandFormatString(const BOOL a_bWithPrimary = FALSE) = 0;
  21. virtual CString GetInsertCommandFormatString(std::vector<int>& a_colIndexes) = 0;
  22. virtual CString GetUpdateCommandFormatString(std::vector<int>& a_updateColIndexes, const int a_nConditionColIndex) = 0;
  23. };
  24. typedef std::shared_ptr<CDBTableBase> __declspec(dllexport) CDBTableBasePtr;
  25. __declspec(dllexport) CDBTableBasePtr CreateNewSQLiteTable();
  26. }