Qt数据库(3)连接数据库
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