Qt下使用QtSql连接sqlite3所遇到的问题总结

前端之家收集整理的这篇文章主要介绍了Qt下使用QtSql连接sqlite3所遇到的问题总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

开发环境:

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:这个问题我也在网上搜过,网上的解决方法只是解决了一开始的问题,后面打不开数据库却在我的机子弄不了。

原文链接:https://www.f2er.com/sqlite/200738.html

猜你在找的Sqlite相关文章