| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | #pragma once#include "stdafx.h"//#include "OTSSTDLib.h"#include "STDGroupTable.h"#include "STDGroupDB.h"using namespace OTSSQLITE;namespace OTSClassifyEngine{		CSTDGroupDB::CSTDGroupDB(CDBStoreBasePtr a_datastore)	{		m_tableInfo.reset(new CSTDGroupTable());		myDB = CreateNewSQLiteDB(a_datastore,m_tableInfo);	}	CSTDGroupDB::~CSTDGroupDB()	{	}	BOOL CSTDGroupDB::GetSTDGroups(CGroupClassifyList& grouplist)	{		auto datastorePtr = GetDatastore();		auto tableInfoPtr = GetTableInfo();		if (!datastorePtr || !tableInfoPtr)		{			return FALSE;		}		CString sTableName = tableInfoPtr->GetTableName();		if (!datastorePtr->IsTableExists(sTableName))		{			return FALSE;		}		CString strSql = _T("");		strSql.Format(_T("select %s, %s, %s, %s from %s order by %s"),			tableInfoPtr->GetColumnName((int)CSTDGroupTable::ColumnID::N_ID - (int)CSTDGroupTable::ColumnID::MIN),			tableInfoPtr->GetColumnName((int)CSTDGroupTable::ColumnID::S_NAME - (int)CSTDGroupTable::ColumnID::MIN),			tableInfoPtr->GetColumnName((int)CSTDGroupTable::ColumnID::S_COLOR - (int)CSTDGroupTable::ColumnID::MIN),			tableInfoPtr->GetColumnName((int)CSTDGroupTable::ColumnID::N_ORDER - (int)CSTDGroupTable::ColumnID::MIN),			tableInfoPtr->GetTableName(),			tableInfoPtr->GetColumnName((int)CSTDGroupTable::ColumnID::N_ORDER - (int)CSTDGroupTable::ColumnID::MIN));		auto query = datastorePtr->QueryByCommand(strSql);		if (!query || !query->IsValid())		{			return FALSE;		}		if (query->GetColCount() != 4)		{			return FALSE;		}		while (!query->IsEOF())		{			CGroupClassifyPtr pClassify = GetSTDGroup(query);			grouplist.push_back(pClassify);			query->NextRow();		}		return true;	}		CGroupClassifyPtr CSTDGroupDB::GetSTDGroup(CDBQueryBasePtr a_query)	{		int iCol = 0;		int iValue = 0;		CString strValue = "";		CGroupClassifyPtr pClassify = CGroupClassifyPtr(new CGroupClassify());		iCol = (int)CSTDGroupTable::ColumnID::N_ID - (int)CSTDGroupTable::ColumnID::MIN;		iValue = a_query->GetColIntValue(iCol, 0);		pClassify->SetID(iValue);		iCol = (int)CSTDGroupTable::ColumnID::S_NAME - (int)CSTDGroupTable::ColumnID::MIN;		strValue = a_query->GetColStringValue(iCol, "");		pClassify->SetName(strValue);		iCol = (int)CSTDGroupTable::ColumnID::S_COLOR - (int)CSTDGroupTable::ColumnID::MIN;		iValue = a_query->GetColIntValue(iCol, 0);		pClassify->SetColor(iValue);		iCol = (int)CSTDGroupTable::ColumnID::N_ORDER - (int)CSTDGroupTable::ColumnID::MIN;		iValue = a_query->GetColIntValue(iCol, 0);		pClassify->SetOrder(iValue);		return pClassify;	}	CDBTableBasePtr CSTDGroupDB::GetTableInfo()	{			return m_tableInfo;	}	BOOL CSTDGroupDB::Init(const BOOL a_bClean /*= FALSE*/)	{		return myDB->Init(a_bClean);	}	BOOL CSTDGroupDB::CreateTable(const BOOL a_bForce /*= FALSE*/)	{		return myDB->Init(a_bForce);	}	BOOL CSTDGroupDB::DeleteTable()	{		return myDB->DeleteTable();	}	BOOL CSTDGroupDB::RemoveAllRows()	{		return myDB->RemoveAllRows();	}	BOOL CSTDGroupDB::IsDBExist()	{		return myDB->IsDBExist();	}	OTSSQLITE::CDBStoreBasePtr CSTDGroupDB::GetDatastore()	{		return myDB->GetDatastore();	}	OTSSQLITE::CDBQueryBasePtr CSTDGroupDB::GetTableQuery(LPCTSTR a_sOrderColumnName /*= nullptr*/)	{		return myDB->GetTableQuery();	}}
 |