【发布时间】:2016-11-01 05:46:21
【问题描述】:
我遇到了一个问题,真的希望你能帮助我。我喜欢将 MySQL DATETIME 字段转换为 C++ std::time_t 变量。我的数据库如下所示:
CREATE TABLE data(
id INTEGER AUTO_INCREMENT UNIQUE,
path VARCHAR(1000),
acquisitionDate DATETIME
);
我正在尝试将 acquisitionDate 中的值保存到 std::time_t 类型的 c++ 变量中。
经过一些网络搜索后,我了解到我必须在我的 MySQL 语句中使用 UNIX_TIMESTAMP。但是,我不明白如何实际使用它。我可以生成查询并收到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));
但我不明白如何将实际字段值放入std::time_t 变量中
if(res->next())
{
std::time_t acquisitionDate = res->getInt("acquisitionDate");
std::time_t acquisitionDate = res->???
}
不知何故,我的大脑没有完成这最后一步。请帮我。 非常感谢!
【问题讨论】: