Je suis coincé dans un problème et j'espère vraiment que vous pourrez m'aider. J'aime convertir un champ MySQL DATETIME
en une variable C++ std::time_t
. Ma base de données ressemble à ceci:Convertir MySQL Datetime en C++ std :: time_t
CREATE TABLE data(
id INTEGER AUTO_INCREMENT UNIQUE,
path VARCHAR(1000),
acquisitionDate DATETIME
);
Et je tente de sauver la valeur de acquisitionDate
en C++ variable de type std::time_t
. Après une recherche sur le Web, j'ai appris que je devais utiliser UNIX_TIMESTAMP
dans mon instruction MySQL. Cependant, je n'ai pas compris comment l'utiliser. Je peux générer une requête et recevoir un sql::ResultSet
:
std::unique_ptr<sql::Statement> stmt(mConnection->createStatement());
std::string query="SELECT id, path, UNIX_TIMESTAMP(acquisitionDate) FROM data WHERE id = 1";
std::unique_ptr<sql::ResultSet> res(stmt->executeQuery(query));
Mais je ne comprends pas comment je peux obtenir la valeur réelle du champ dans une std::time_t
variables
if(res->next())
{
std::time_t acquisitionDate = res->getInt("acquisitionDate");
std::time_t acquisitionDate = res->???
}
D'une certaine façon mon cerveau ne reçoit pas cette dernière étape. Aidez-moi, s'il vous plaît. Merci beaucoup!
Merci beaucoup pour votre réponse. Casting est une bonne idée et assez facile. Cependant, j'ai compris que mon problème était de comprendre comment accéder au champ retourné. Voir ma réponse à cette question – Michael