Jjreina
Jjreina

Reputation: 2713

QSqlQuery not positioned on a valid record

I'm trying select a field of my date base, the code is:

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

The query is correct because when I do qDebug() << query.size;, it returns 1.

but with qDebug() << query.value(0).toString();, it returns:

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

How can I fix it?

Upvotes: 14

Views: 25826

Answers (1)

Davita
Davita

Reputation: 9144

You should call query.first() before you can access returned data. additionally if your query returns more than one row, you should iterate via query.next().

Upvotes: 34

Related Questions