c++ QSqlQuery未定位在有效记录上

我正在尝试选择我的日期库的字段,代码是:

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
""

我该如何解决?

非常感谢你.

最佳答案
您应该在可以访问返回的数据之前调用query.first().另外,如果您的查询返回多行,则应通过query.next()进行迭代.

转载注明原文:c++ QSqlQuery未定位在有效记录上 - 代码日志