QSqlQuery未定位在有效记录上

时间:2012-01-25 09:12:06

标签: 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"; 

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

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

OK 
QSqlQuery::value: not positioned on a valid record
""

我该如何解决?

1 个答案:

答案 0 :(得分:21)

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