Qt下使用QtSql连接sqlite3所遇到的问题总结
发布时间:2020-12-12 20:06:15 所属栏目:百科 来源:网络整理
导读:开发环境: 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. 问题所在代码段:
开发环境: 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,'18998416978' );" ; query.exec(sql); 至始,该问题完美解决。 ps:这个问题我也在网上搜过,网上的解决方法只是解决了一开始的问题,后面打不开数据库却在我的机子弄不了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |