ColumnType.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include "stdafx.h"
  2. #include "ColumnType.h"
  3. namespace OTSSQLITE
  4. {
  5. // ------------------
  6. // enum area
  7. // ------------------
  8. const CString ColumnType::m_sPrimaryKeyString(_T("PRIMARY KEY"));
  9. const CString ColumnType::m_sNotNullString(_T("NOT NULL"));
  10. const CString ColumnType::m_sUniqueString(_T("UNIQUE"));
  11. const CString ColumnType::m_strNames[] = { _T("INTEGER"),
  12. _T("FLOAT"),
  13. _T("TEXT"),
  14. _T("BLOB"),
  15. _T("NONE")
  16. };
  17. CString ColumnType::GetName(const ColumnType a_type)
  18. {
  19. return GetName((int)a_type.GetTypeId());
  20. }
  21. CString ColumnType::GetName(const int a_nId)
  22. {
  23. if (a_nId < (int)ID::MIN || a_nId >(int)ID::MAX)
  24. {
  25. return _T("");
  26. }
  27. return m_strNames[a_nId - (int)ID::MIN];
  28. }
  29. CString ColumnType::GetFormat(const ColumnType a_type)
  30. {
  31. CString sRet;
  32. switch (a_type.GetTypeId())
  33. {
  34. case ColumnType::ID::INT:
  35. sRet = _T("%d");
  36. break;
  37. case ColumnType::ID::FLOAT:
  38. sRet = _T("%f");
  39. break;
  40. case ColumnType::ID::STRING:
  41. sRet = _T("\'%s\'");
  42. break;
  43. case ColumnType::ID::BLOB:
  44. sRet = _T("?");
  45. break;
  46. case ColumnType::ID::NONE:
  47. sRet = _T("%s");
  48. break;
  49. default:
  50. ASSERT(FALSE);
  51. sRet = _T("%s");
  52. break;
  53. }
  54. return sRet;
  55. }
  56. CString ColumnType::GetFormat(const int a_nId)
  57. {
  58. return GetFormat((ColumnType::ID)a_nId);
  59. }
  60. }