CInvalidElementDB.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #include "stdafx.h"
  2. #include "CInvalidElement.h"
  3. #include "CInvalidElementDB.h"
  4. #include "stdafx.h"
  5. namespace OTSClassifyEngine
  6. {
  7. using namespace OTSSQLITE;
  8. CInvalidElementDB::CInvalidElementDB(CDBStoreBasePtr a_datastore)
  9. {
  10. m_tableInfo.reset(new CInvalidElement());
  11. myDB = CreateNewSQLiteDB(a_datastore, m_tableInfo);
  12. }
  13. CInvalidElementDB::~CInvalidElementDB()
  14. {
  15. }
  16. std::vector<CString>& CInvalidElementDB::GetElementNameList()
  17. {
  18. auto tableInfoPtr = GetTableInfo();
  19. ASSERT(tableInfoPtr);
  20. auto query = GetTableQuery();
  21. ASSERT(query);
  22. if (!query)
  23. {
  24. return m_eleNameList;
  25. }
  26. m_eleNameList=ReadItemList(query);
  27. return m_eleNameList;
  28. }
  29. CDBTableBasePtr CInvalidElementDB::GetTableInfo()
  30. {
  31. return m_tableInfo;
  32. }
  33. BOOL CInvalidElementDB::Init(const BOOL a_bClean /*= FALSE*/)
  34. {
  35. return myDB->Init(a_bClean);
  36. }
  37. BOOL CInvalidElementDB::IsDBExist()
  38. {
  39. return myDB->IsDBExist();
  40. }
  41. OTSSQLITE::CDBStoreBasePtr CInvalidElementDB::GetDatastore()
  42. {
  43. return myDB->GetDatastore();
  44. }
  45. OTSSQLITE::CDBQueryBasePtr CInvalidElementDB::GetTableQuery(LPCTSTR a_sOrderColumnName /*= nullptr*/)
  46. {
  47. return myDB->GetTableQuery(a_sOrderColumnName);
  48. }
  49. std::vector<CString> CInvalidElementDB::ReadItemList(CDBQueryBasePtr a_query)
  50. {
  51. std::vector<CString> listItem;
  52. int nRowId = 0;
  53. int nWrongItems = 0;
  54. while (!a_query->IsEOF())
  55. {
  56. CString s = ReadItem(a_query);//current x-ray point
  57. listItem.push_back(s);
  58. a_query->NextRow();
  59. nRowId++;
  60. }
  61. return listItem;
  62. }
  63. CString CInvalidElementDB::ReadItem(CDBQueryBasePtr a_query)
  64. {
  65. int nCol;
  66. CString sName;
  67. nCol = (int)CInvalidElement::ColumnID::S_Name - (int)CInvalidElement::ColumnID::MIN;
  68. sName = a_query->GetColStringValue(nCol, _T(""));
  69. return sName;
  70. }
  71. }