Я использую соединитель c ++ для выполнения запроса к mysql через c ++, и все в порядке, кроме типа даты!
Когда я пытаюсь распечатать данные, полученные в результате запроса, все столбцы печатаются, кроме тех, которые находятся в типе DATE, и вместо печати значения даты они печатают <3 необработанных байта> .
Как можно напечатать это в реальном виде даты yyy-mm-dd вместо из <3 необработанных байтов>.
это мой код:
#include <iostream>
#include <mysqlx/xdevapi.h>
using namespace std;
using namespace mysqlx;
template<typename type>
void print(const list<type>& lst) noexcept
{
for (auto it{ lst.begin() }; it != lst.end(); it++)
{
try
{
int index{ 0 };
while (true)
cout << (*it)[index++] << '\t';
}
catch (...)
{
cout << endl;
}
}
}
int main(int argc, char** argv, char** pnv)
{
Session dbms_session{
SessionOption::HOST, "localhost",
SessionOption::PORT, 33060,
SessionOption::USER, "myusername",
SessionOption::PWD, "mypassword",
SessionOption::DB, "classicmodels",
SessionOption::SSL_MODE, SSLMode::DISABLED
};
Schema classicmodels_schema{ dbms_session.getSchema("classicmodels") };
Table employees_table{ classicmodels_schema.getTable("employees") };
RowResult employees_full_name{ employees_table.select("firstName", "lastName").execute() };
list<Row> employees_full_name_result{ employees_full_name.fetchAll() };
Table members_table{ classicmodels_schema.getTable("members") };
Table committees_table{ classicmodels_schema.getTable("committees") };
const char* sql_command{
"SELECT\n"
"customers.customerNumber,\n"
"customers.contactLastName,\n"
"customers.contactFirstName,\n"
"orders.orderDate,\n"
"orders.status\n"
"FROM customers\n"
"INNER JOIN orders\n"
"USING (customerNumber);\n"
};
RowResult databases{ dbms_session.sql(sql_command).execute() };
list<Row> data{ databases.fetchAll() };
print(data);
}
и это мои результаты:
363 Young Dorothy <3 raw bytes> Shipped
128 Keitel Roland <3 raw bytes> Shipped
181 Frick Michael <3 raw bytes> Shipped
121 Bergulfsen Jonas <3 raw bytes> Shipped
141 Freyre Diego <3 raw bytes> Shipped
145 Petersen Jytte <3 raw bytes> Shipped
278 Rovelli Giovanni <3 raw bytes> Shipped
131 Lee Kwai <3 raw bytes> Shipped
385 Cruz Arnold <3 raw bytes> Shipped
486 Salazar Rosa <3 raw bytes> Shipped
187 Ashworth Rachel <3 raw bytes> Shipped
129 Murphy Julie <3 raw bytes> Shipped
144 Berglund Christina <3 raw bytes> Shipped
124 Nelson Susan <3 raw bytes> Shipped
172 Bertrand Marie <3 raw bytes> Shipped
424 Hernandez Maria <3 raw bytes> Shipped