连接本地数据库文件的qt教程 (如何连接qt的本地数据库文件)
连接本地数据库文件的QT教程
QT是一种跨平台的C++应用程序框架,支持多种操作系统和硬件平台。QT不仅为开发者提供了各种工具和库函数,在数据库领域也提供了许多便利的功能。本教程将为大家介绍如何连接本地数据库文件的方法。
1. 创建数据库文件
在QT中,可以使用SQLite数据库,因此需要先下载SQLite,SQLite是一款轻量级的关系型数据库管理系统。
下载地址:https://www.sqlite.org/index.html
下载后安装,即可得到sqlite3等库文件。
在QT新建一个工程,然后右键项目文件夹,选择“添加新文件”,新建一个SQLite数据库文件,比如叫做“mydatabase.db”。
2. 安装SQLite驱动程序
在QT中连接SQLite数据库需要安装一个驱动程序“QSQLITE”,在QT官网下载驱动程序,下载地址为: https://download.qt.io/archive/qt/5.9/5.9.0/qt-opensource-windows-x86-5.9.0.exe.mirrorlist
打开安装程序,依次选择QT的安装路径、QT版本和组件,直到找到Qt 5.9.0 – Qt Sql Drivers,选中QSQLITE,然后点击“安装”。
3. 编写连接程序
在QT的项目中,需要在代码中添加处理与数据库相关的代码。下面展示了建立连接并执行查询的源头代码。
需要在程序的头文件中添加以下代码:
“`cpp
#include
#include
#include
“`
接下来,在主函数中添加以下代码:
“`cpp
QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”);
db.setDatabaseName(“mydatabase.db”);
if (!db.open()) {
qDebug()
return -1;
}
QSqlQuery query;
query.exec(“DROP TABLE IF EXISTS table1”);
query.exec(“CREATE TABLE table1 (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)”);
query.exec(“INSERT INTO table1 VALUES (1, ‘Lucy’)”);
query.exec(“INSERT INTO table1 VALUES (2, ‘Lily’)”);
query.exec(“INSERT INTO table1 VALUES (3, ‘Tom’)”);
query.exec(“SELECT id, name FROM table1”);
while (query.next()) {
int id = query.value(0).toInt();
QString name = query.value(1).toString();
qDebug()
}
db.close();
“`
以上代码主要分为以下步骤:
– 创建了一个QSqlDatabase对象db,并且指定它使用QSQLITE驱动程序。
– 设置要连接的数据库文件是mydatabase.db。
– 使用db对象上的open()函数来连接到数据库。如果连接失败,将显示一个错误消息,并返回-1。
– 执行SQL语句,创建一个名为table1的表,包含一个id和一个name列。
– Insert三个记录到table1中。
– 从table1查询所有记录,显示每个记录中id和name列的值。
– 最后关闭数据库连接。
以上代码适用于单线程应用程序,如果需要在多线程应用程序中运行,需要使用数据库连接池。
4.