I have been trying to SELECT records from a mysql database. The QMYSQL driver works fine for INSERT, CREATE TABLE and other query statements except SELECT statements. Anytime I run my code, I get an error which says:
QMYSQL3: Unable to fetch data
Another confusing thing this is that I have three database drivers:
QMYSQL3, QMYSQL and QSQLITE.
When I use QMYSQL in my code, the application runs with QMYSQL3. Could this be the source of my problems?
Here's mycode:
db.setHostName("dbhost");
db.setDatabaseName("dbname");
db.setUserName("dbuser");
db.setPassword("dbpasswd");
db.setPort(3306);
if (db.open()){
cerr<<"Connected!";
query.exec("SELECT now()");
while (query.next()){
cerr<<"-- "<<qPrintable(query.value(0).toString());
}
cerr<<"\nExec: "<< query.executedQuery().toStdString();
qDebug()<<"\nError: "<< query.lastError().text();
}
else
{
cerr<<"\n\nNot Connected!";
}
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("dbhost");
db.setDatabaseName("dbname");
db.setUserName("dbuser");
db.setPassword("dbpasswd");
db.setPort(3306);
if (db.open()){
cerr<<"Connected!";
QSqlQuery query;
query.exec("SELECT now()");
while (query.next()){
cerr<<"-- "<<qPrintable(query.value(0).toString());
}
cerr<<"\nExec: "<< query.executedQuery().toStdString();
QSqlError err = query.lastError();
qDebug()<<"\nError: "<< query.lastError().text();
}
else
{
cerr<<"\n\nNot Connected!";
}
To copy to clipboard, switch view to plain text mode
What am I doing wrong? 
I am using the 2009.04 version of QT4 and mysql 5.0.45
Bookmarks