I am unable to run Select query using QODBC (don't need QMysql). They throw QSqlQuery::value: not positioned on a valid record
. However, other queries run fine.
There are other threads on the same issue on Stackoverflow. But none of them solves my problem. Here are a few
QSqlQuery not positioned on a valid record
Select query returns "value: not positioned on a valid record" in Qt
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("Driver={MySQL ODBC 8.0 UNICODE Driver};DATABASE=dbname;");
db.setUserName("root");
db.setPassword("mysql");
if (!db.open()) {
qDebug() << db.lastError();
} else {
QSqlQuery query;
query.prepare("SELECT id, name FROM users where id=1;");
if (!query.exec())
{
qDebug() << "SQL error: "<< query.lastError().text() << endl;
}
query.first();
qDebug() << query.value("name").toString() ;
}
Help appreciated