私は問題に悩まされており、本当に助けてくれることを願っています。私は、MySQLのDATETIME
フィールドをC++ std::time_t
変数に変換するのが好きです。私のデータベースには、次のようになります。MySQL DatetimeをC++に変換するstd :: time_t
CREATE TABLE data(
id INTEGER AUTO_INCREMENT UNIQUE,
path VARCHAR(1000),
acquisitionDate DATETIME
);
そして私はタイプstd::time_t
のC++変数にacquisitionDate
から値を保存しようとしています。
ウェブ検索の結果、私は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->???
}
に実際のフィールド値を取得する方法を理解していませんステップ。私を助けてください。 ありがとうございます!
std::time_t acquisitionDate = res->getInt("UNIX_TIMESTAMP(acquisitionDate)");
またはSQLステートメントは、フィールドの名前を変更できます:
おかげであなたの答えのためにたくさん。キャスティングは良い、非常に簡単なアイデアです。しかし、私は問題が返されたフィールドにアクセスする方法を理解していることを理解しました。この質問への私の答えを見てください – Michael