我正在尝试选择我的日期基础的字段,代码是:
if (db.db().isOpen())
{
qDebug() << "OK";
QSqlQuery query("SELECT state FROM jobs WHERE jobId = '553'", db.db());
qDebug() << query.value(0).toString();
}
else
qDebug() << "No ok";
查询是正确的,因为当我执行qDebug() << query.size;
时,它会返回1
。
但是使用qDebug() << query.value(0).toString();
,它会返回:
OK
QSqlQuery::value: not positioned on a valid record
""
我该如何解决?
答案 0 :(得分:21)
您应该先访问query.first()
,然后才能访问返回的数据。另外,如果您的查询返回多行,则应通过query.next()
进行迭代。