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

Qt SQLAnywhere数据库中的QDateTime插入和检索,qt,sqlanywhere,Qt,Sqlanywhere,我试图在一个表中存储和访问日期和时间,该表是SQLAnywhere 16数据库 Qt中应该使用哪种数据类型,以便它可以用于我的所有Qt业务逻辑和UI。我正在考虑使用QDateTime,那么有什么函数可以帮助在查询中插入datetime并从查询结果转换回datetime呢 是的,QDateTime与QtSql非常兼容,非常易于使用。以下是一些用于插入和选择的代码: // SELECT QSqlQuery querySelect; if (!querySelect.exec("SELECT date

我试图在一个表中存储和访问日期和时间,该表是SQLAnywhere 16数据库


Qt中应该使用哪种数据类型,以便它可以用于我的所有Qt业务逻辑和UI。我正在考虑使用QDateTime,那么有什么函数可以帮助在查询中插入datetime并从查询结果转换回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支持的数据库系统的数据类型的更多信息:

是的,
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支持的数据库系统的数据类型的更多信息:

谢谢您的回答!对于这里使用的插入准备查询,是否不能使用普通查询?我认为您需要将datetime格式化为有效字符串。这应该起作用:
queryInsert.exec(“插入到author(datetime)值(“+datetime.toString”(“yyyy-dd-MM hh:MM:ss.z”)+”)但是我认为除了防止sql注入之外,预先准备好的语句使代码更具可读性。谢谢你的回答!对于这里使用的插入准备查询,是否不能使用普通查询?我认为您需要将datetime格式化为有效字符串。这应该起作用:
queryInsert.exec(“插入到author(datetime)值(“+datetime.toString”(“yyyy-dd-MM hh:MM:ss.z”)+”)