首页 > 数据库技术 > 详细

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

时间:2014-02-26 06:21:19      阅读:481      评论:0      收藏:0      [点我收藏+]

开发环境:

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

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

原文:http://smk17.blog.51cto.com/8608685/1363382

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!