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

database

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()

以上是 Qt数据库(3)连接数据库 的全部内容, 来源链接: utcz.com/z/532124.html

回到顶部