开发环境:
Qt Creator 2.8.1
Based on Qt 5.0.2 (GCC 4.8.2, 32 bit)
问题1:编译无错误,在执行时终端出现以下字母:
QSqlDatabasePrivate::addDatabase: duplicate connection name ‘qt_sql_default_connection‘, old connection removed.
问题所在代码段:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
解决方法:
把问题所在代码段改为以下代码:
QSqlDatabase db; if(QSqlDatabase::contains("GBond")) db = QSqlDatabase::database("GBond"); else db = QSqlDatabase::addDatabase("QSQLITE", "GBond");
这样一来,以上问题就解决了。
不过,再次执行时终端出现以下字母:
QSqlQuery::exec: database not open QSqlQuery::exec: database not open QSqlQuery::exec: database not open QSqlQuery::exec: database not open
问题所在代码段:
QSqlQuery query; QString sql = "INSERT INTO contact VALUES(1 , ‘smk‘ , 17 , ‘friend‘, ‘18998416978‘ );" ; query.exec(sql);
解决方法:
把问题所在代码段改为以下代码:
QSqlQuery query(db); QString sql = "INSERT INTO contact VALUES(1 , ‘smk‘ , 17 , ‘friend‘, ‘18998416978‘ );" ; query.exec(sql);
至始,该问题完美解决。
ps:这个问题我也在网上搜过,网上的解决方法只是解决了一开始的问题,后面打不开数据库却在我的机子弄不了。
本文出自 “sengmitnick” 博客,请务必保留此出处http://smk17.blog.51cto.com/8608685/1363382