MY CODE :

QSqlDatabase db;
QSqlQuery query;

db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("sampleDB.db");
if (db.open())
{
qDebug()<<"\n**** db opened**** :";
query.exec("create table person (id int primary key, "
"firstname varchar(20), lastname varchar(20))");
}


OUTPUT:
***db opened***:
QSqlQuery::exec: database not open


Why i am getting error even after db.open() succeeded? why Table was not created?