diff --git a/DBExample/src/Main.cpp b/DBExample/src/Main.cpp index 0b5c002..c2ca553 100644 --- a/DBExample/src/Main.cpp +++ b/DBExample/src/Main.cpp @@ -11,17 +11,57 @@ #pragma comment(lib, "soci_odbc_4_0.lib") +template +class JobMessageQueue +{ +public: + JobMessageQueue() = default; + JobMessageQueue(Val id) : rec_id(id) + { + } + + + Val rec_id; + Str user_id; + Str message; + Str occurred; +}; + + +template +void print_message(const Message &message) +{ + std::cout << "Rec_id: " << message.rec_id << "\n"; + std::cout << "UserID: " << message.user_id << "\n"; + std::cout << "Occurred: " << message.occurred << "\n"; + std::cout << "Message: " << message.message << "\n"; +} + + int main() { - std::cout << "Hello\n"; + std::cout << "Starting DBExample\n"; try { const std::string dsn_path("filedsn=C:\\ViperSQL.dsn"); - soci::backend_factory const &back_end = *soci::factory_odbc(); + // soci::backend_factory const &back_end = *soci::factory_odbc(); + const auto &back_end = *soci::factory_odbc(); soci::session sql(back_end, dsn_path); + + constexpr auto record_id = 1172163; + + auto message = JobMessageQueue(record_id); + + sql << "SELECT Rec_id, UserID, Message, Occurred FROM [JobMessageQueue] " + << "WHERE Rec_id = :Rec_id", + soci::into(message.rec_id), soci::into(message.user_id), + soci::into(message.message), soci::into(message.occurred), + soci::use(record_id, "Rec_id"); + + print_message >(message); } catch (std::exception &ex) {