我有一个带有DATETIME字段的SQL表。我正在使用C ++中的表。当我填写行时,我需要提交一个日期时间。得到这个最简单的方法是什么?
使用ubuntu并且还需要它与Qt一起工作,所以如果不添加像boost ::。
这样的外部库就更好了。答案 0 :(得分:1)
我曾经遇到类似情况,所以我写了自己的DateTime
课程。
关于pastebin:
如果您使用的是MySQL Connector/C++
,那么我相信这个库会尝试从Java模拟JDBC
。 Java中java.sql
包中的类在C ++中的sql
命名空间中定义。
JDBC有一个java.sql.Timestamp
类,因此C ++库应该有一个sql::Timestamp
类。
但是,MySQL 5.6文档显示,feature requests for MySQL Connector/C++可以Date
将Time
,Timestamp
和JDBC
类型从std::string
添加到C ++图书馆。所以他们可能还没有。
目前,the answers to this question建议您使用Timestamp
来获取和设置std::string ts_field = "2012/10/26 07:15:00";
pstmt = con->prepareStatement("INSERT INTO date_table(date_field) VALUES (?)");
pstmt->setString(1, ts_field);
pstmt->execute();
delete pstmt;
字段。
插入:
pstmt = con->prepareStatement("SELECT date_field FROM date_table");
res = pstmt->executeQuery();
while (res->next())
{
std::string ts_field = res->getString("date_field");
cout << ts_field << endl;
}
delete res;
delete pstmt;
选择
Timestamp
如果您想在程序中操纵这些std::string
。使用我在DateTime
上附加的类来使用这些pastebin
个对象创建MySQL Connector/C++
个对象是微不足道的。