Reputation: 2713
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
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