SQLAnywhere数据库中的QDateTime插入和检索

时间:2019-03-06 03:06:36

标签: qt sqlanywhere

我正在尝试在SQLAnywhere16数据库表中存储和访问日期和时间。

在Qt中应该使用哪种数据类型,以便可以将其用于我的所有Qt业务逻辑和UI。我正在考虑使用QDateTime,那么什么功能可以帮助在查询中插入日期时间并从查询结果转换回日期时间。

1 个答案:

答案 0 :(得分:0)

是的,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列的类型为DATETIMETIMESTAMP,以便可以正确转换值。

在此处阅读有关Qt支持的数据库系统的数据类型的更多信息: https://doc.qt.io/qt-5/sql-types.html