关于qt QSqlDatabase

这篇博客探讨了在Qt环境中如何使用QSqlDatabase管理多个数据库连接,特别是在需要同时操作两个数据库的情况下。通过源码分析,解释了QSqlDatabase::addDatabase函数的工作原理,特别是默认连接名'qt_sql_default_connection'的重要性。博主指出,数据库名称实际上是数据库连接的标识,而setDatabaseName用于设置数据库文件路径。此外,当尝试添加已存在的默认连接时,Qt会关闭原有连接并给出警告。最后,博主提到open()方法会创建数据库文件,即使文件不存在也不会抛出错误。
摘要由CSDN通过智能技术生成

关于qt中QSqlDatabase使用:如果使用单一的数据库,以sqlite为例:

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

QString dbFileName = "xxx.db";

db.setDatabaseName(dbFileName );

if (db.isOpen()) {

db.open();

}

... //db operator


但是当一个程序中需要使用两个数据库(比如软件更新时拷贝原先数据库中的内容等),则需要操作两个数据库,如果只是相似地使用:

QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE");

QString dbFileName1 = "xxx.db";

db1.setDatabaseName(dbFileName1);

if (db1.isOpen()) {

db1.open();

}

... //db operator

此时往往会出现以下警告,导致数据库执行失败:

</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值