#include "HbdLanguageDao.h" #include "../../utils/StringHelper.h" #include HbdLanguageDao::HbdLanguageDao(SQLite::Database* pdb):BaseDao(pdb) { } HbdLanguageDao::~HbdLanguageDao() { } void HbdLanguageDao::CreateTable() { if (m_pDB->tableExists(HbdLanguage::TABLE_NAME))return; char buffer[1024]; memset(buffer, '\0', sizeof(buffer)); string createsql = "CREATE TABLE %s(%s INTEGER PRIMARY KEY,%s VARCHAR(50),%s VARCHAR(50),%s VARCHAR(50))"; sprintf_s(buffer, sizeof(buffer), createsql.c_str(), HbdLanguage::TABLE_NAME.c_str(), HbdLanguage::FIELD_ID.c_str(), HbdLanguage::FIELD_CODE.c_str(), HbdLanguage::FIELD_CONTENT.c_str(), HbdLanguage::FIELD_FILE_NAME.c_str() ); SQLite::Transaction transaction(*m_pDB); m_pDB->exec(buffer); vector insertSql; HbdLanguage::Generate(insertSql); for (size_t i=0;iexec(insertSql[i]); } transaction.commit(); } void HbdLanguageDao::Find(map& LanguageMap) { char buffer[1024]; string strsql = "SELECT %s,%s,%s,%s FROM %s"; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), HbdLanguage::FIELD_ID.c_str(), HbdLanguage::FIELD_CODE.c_str(), HbdLanguage::FIELD_CONTENT.c_str(), HbdLanguage::FIELD_FILE_NAME.c_str(), HbdLanguage::TABLE_NAME.c_str()); SQLite::Statement query(*m_pDB, buffer); while (query.executeStep()) { HbdLanguage* language = new HbdLanguage(); language->m_id = query.getColumn(HbdLanguage::FIELD_ID.c_str()).getInt(); language->m_code = query.getColumn(HbdLanguage::FIELD_CODE.c_str()).getString(); language->m_content = query.getColumn(HbdLanguage::FIELD_CONTENT.c_str()).getString(); language->m_fileName = query.getColumn(HbdLanguage::FIELD_FILE_NAME.c_str()).getString(); LanguageMap[language->m_id] = language; } }