QSqlQuery未定位在有效记录上

Jjr*_*ina 9 c++ mysql qt

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

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"; 
Run Code Online (Sandbox Code Playgroud)

查询是正确的,因为当我这样做时 qDebug() << query.size;,它返回1.

但是qDebug() << query.value(0).toString();,它返回:

OK 
QSqlQuery::value: not positioned on a valid record
""
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

Dav*_*ita 20

您应该query.first()先访问,然后才能访问返回的数据.另外,如果你的查询返回多行,你应该迭代通过query.next().