加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

在Qt中使用addDatabase创建两个数据库,并且分别对其进行操作

(2018-02-22 16:02:50)
标签:

qt

it

分类: QT/C

     上一篇博文提到使用 addDatabase 和 database 创建两个数据库,但是因为用的时系统默认名字,所以在使用 QSqlQuery 时会造成区分不清楚的情况。

     如果在一个类中要创造两个数据库 建议使用 addDatabase 的时候,指定数据库的名称,如下所示:

     db = QSqlDatabase::addDatabase("QSQLITE","database");

     admin_db = QSqlDatabase::addDatabase("QSQLITE","admin");

     有了指定的名字之后,我们在后面操作中就方便区分了。此时我们对数据库进行如下操作:

                 QSqlQuery query;

               query.exec("select * from userInfo");
               while (query.next())
  会报这个错误:
         QSqlQuery::exec: database not open
     这是为什么呢?
    通过help查找 QSqlQuery 类的说明 (红色说明)
http://s5/mw690/003DqbkEzy7ind76UBu54&690

http://s15/mw690/003DqbkEzy7indaUjlc6e&690
即,要对数据库进行操作,需要指定数据库的名字,如果指定的数据库非法无效,那么 QSqlQuery 操作的就是系统默认的数据库
所以我们需要这样使用 QSqlQuery
    QSqlQuery query(db);
  QSqlQuery query(admin_db);
  才能分别对两个数据库进行操作,而不会造成混乱。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有