#include "stdafx.h" #include "ColumnType.h" namespace OTSSQLITE { // ------------------ // enum area // ------------------ const CString ColumnType::m_sPrimaryKeyString(_T("PRIMARY KEY")); const CString ColumnType::m_sNotNullString(_T("NOT NULL")); const CString ColumnType::m_sUniqueString(_T("UNIQUE")); const CString ColumnType::m_strNames[] = { _T("INTEGER"), _T("FLOAT"), _T("TEXT"), _T("BLOB"), _T("NONE") }; CString ColumnType::GetName(const ColumnType a_type) { return GetName((int)a_type.GetTypeId()); } CString ColumnType::GetName(const int a_nId) { if (a_nId < (int)ID::MIN || a_nId >(int)ID::MAX) { return _T(""); } return m_strNames[a_nId - (int)ID::MIN]; } CString ColumnType::GetFormat(const ColumnType a_type) { CString sRet; switch (a_type.GetTypeId()) { case ColumnType::ID::INT: sRet = _T("%d"); break; case ColumnType::ID::FLOAT: sRet = _T("%f"); break; case ColumnType::ID::STRING: sRet = _T("\'%s\'"); break; case ColumnType::ID::BLOB: sRet = _T("?"); break; case ColumnType::ID::NONE: sRet = _T("%s"); break; default: ASSERT(FALSE); sRet = _T("%s"); break; } return sRet; } CString ColumnType::GetFormat(const int a_nId) { return GetFormat((ColumnType::ID)a_nId); } }