logo logo
关于我们

技术分享

技术分享 Qt数据库(3) - 连接数据库

Qt数据库(3) - 连接数据库

2018-06-04

Qt助手关键字:Connecting to DataBases

Qt Version 5.14.0

想要使用QSqlQuery或QSqlQueryModel访问数据库,首先要创建或打开1个或多个数据库链接。数据库链接通常使用链接名称作为唯一标识,而不是数据库名称。可以使用多个数据库链接同时连接同一个数据库。QSqlDataBase支持默认连接的概念(未命名链接),调用QSqlQuery或QSqlQueryModel访问数据库时,参数里如果不给出链接名称,就会使用默认链接。如果你的程序只链接一个数据库,那么默认链接用起来很方便。

创建链接和打开链接的区别:创建链接时会同时创建一个QSqlDataBase类的实例(Sqlite会自动创建数据库文件),但还不能使用。需要调用open来打开链接。

以下为打开默认链接的代码

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("bigblue");
db.setDatabaseName("flightdb");
db.setUserName("acarlson");
db.setPassword("1uTbSbAs");
bool ok = db.open();

这段代码将连接host名为bigblue上的MySQL数据库flightdb。

以下代码建立两个分别名为first和second的MySQL数据库链接

QSqlDatabase firstDB = QSqlDatabase::addDatabase("QMYSQL", "first");
QSqlDatabase secondDB = QSqlDatabase::addDatabase("QMYSQL", "second");

如果调用打开链接的open函数失败,可以通过调用以下函数获取错误信息:

QSqlDatabase::lastError()

数据库链接一旦建立,可以在任何地方通过以下函数获取该链接的指针:

QSqlDatabase::database()

想要删除一个数据库链接,首先要关闭它,然后删除,调用以下接口:

QSqlDatabase::close()
QSqlDatabase::removeDatabase()
                   
云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 行业资讯

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

请添加好友为您提供支持
jia7jia_7

请拨打电话
为您提供支持

400-9955-698