У меня есть некоторый код, который манипулирует базой данных, для этого ему нужен класс для перевода строк таблицы в.
Ниже приведена часть файла .h
, имеющегося у меня на данный момент для рассматриваемого класса, с его прототипами, которые затем определяются в файле .cpp
:
namespace A {
namespace B {
namespace C {
class recEvent
{
public:
struct filedEvent
{
int id;
std::string title;
std::string desc;
std::string stime;
std::string dur;
int recid;
int venid;
};
recEvent();
recEvent(int recid, std::string title, std::string description, int duration,
recurringType recurType, time_t startFrom, endType endingType,
time_t dateEnd, int occurences, int venueid);
void setId(int recid);
void setTitle(std::string title);
// ...
int getId();
std::string getTitle();
// ...
};
} // A
} // B
} // C
Затем у меня есть функции-прототипы, которые имеют дело с базой данных в этом заголовке, проблема у меня заключается в том, что эти функции не работают ни с одним из значений в RecEvent
, однако они используют классы recEvent
для работы [как создание векторов типа recEvent
].
Просто чтобы задать вопрос, где было бы лучше объявить / определить эти функции, они не требуют особого присутствия внутри класса, а представляют собой просто набор функций, которые работают вместе для выполнения нескольких запросов к базе данных, таких как так:
Публичный fetchRecEv()
прототип метода в заголовке класса recEv
:
std::vector<recEvent> fectchRecEv();
определение .cpp
:
std::vector<recEvent> recEvent::fetchRecEv()
{
Pocco::Data::Session* db_session = this->platform->getLocalInterfaceSession();
Statement ss(*db_session);
std::vector<recEvent> allRecEv;
ss < "SELECT Id,Title,Description,Duration,RecurringType,StartFrom,EndType,DateEnd,Occurences,Venueid FROM RecurringEvents", now;
Poco::Data::RecordSet RecordSet(ss);
for (auto& record : RecordSet) {
/*recEvents made and put in vector allRecEv*/
}
return allRecEv;
}
У меня возникает желание просто сохранить класс recEvent
и создать еще один файл .h
специально для этих функций базы данных, однако для этих функций не требуется класс, поэтому я не уверен, что делать дальше. это.