我正在尝试在SQL Anywhere 16数据库的表中存储和访问日期和时间。
在Qt中应该使用哪种数据类型,以便它可以用于我的所有Qt业务逻辑和UI。我想使用QDateTime,那么什么是有助于在Query中插入日期时间并从Query结果转换回datetime的函数。
是的,QDateTime
与QtSql非常兼容,非常容易使用。以下是一些插入和选择的代码:
// SELECT
QSqlQuery querySelect;
if (!querySelect.exec("SELECT datetime FROM author"))
{
//handle error
}
while (querySelect.next())
{
QDateTime dateTime = querySelect.value(0).toDateTime();
doSomething(dateTime);
}
// INSERT
QSqlQuery queryInsert;
if (!queryInsert.prepare("INSERT INTO author (datetime) VALUES (:dateTime)"))
{
//handle error
}
QDateTime dateTime = QDateTime::currentDateTime();
queryInsert.bindValue(":dateTime", dateTime);
if (!queryInsert.exec())
{
//handle error
}
确保SQL列的类型为DATETIME
或TIMESTAMP
,以便可以正确转换该值。
在此处阅读有关Qt支持的数据库系统的数据类型的更多信息:https://doc.qt.io/qt-5/sql-types.html