一文教你Qt如何操作SQLite数据库
1. 安装SQLite数据库驱动
在Qt中操作SQLite数据库,需要使用到SQLite数据库驱动。下面介绍如何安装和配置这个驱动。
1.1 下载SQLite
访问 SQLite官网 ,选择最新的预编译二进制文件下载。
1.2 下载SQLite驱动
访问Qt官网的下载页面,选择对应版本的Qt安装程序。这里以Qt 5.12.0为例,选择 "qt-opensource-windows-x86-5.12.0.exe"。
安装完成后,进入" Qt InstallationDir/Version/Compiler/Plugins/sqldrivers "目录,复制sqlite3.dll和qsqlite.dll文件。
1.3 编译SQLite驱动
在Qt发布包中自带了qmake,执行以下命令可以自动生成Makefile文件。
qmake -o Makefile qsqlite.pro
完成后,执行以下命令进行编译。
make
如果没有出现错误信息,则编译完成。
2. 使用SQLite数据库
2.1 创建数据库
首先,我们需要连接到数据库。在以下示例中,使用"QSqlDatabase"和"QSqlQuery"类来完成。我们可以使用QSqlDatabase::addDatabase()静态函数来创建一个连接。在连接到数据库后,可以使用QSqlQuery类来执行SQL查询。
下面是一个创建并连接到数据库的示例:
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
if (!db.open())
{
qDebug() << "Cannot open database: " << db.lastError();
return -1;
}
qDebug() << "Database connected.";
return a.exec();
}
2.2 建表
建表可以使用"QSqlQuery"类的exec()方法,在其中输入SQL语句创建表格。以下示例建立一个名为"person"的表。
QSqlQuery query;
query.prepare("CREATE TABLE person "
"(id INTEGER PRIMARY KEY, "
" name VARCHAR(30), "
" age INT)");
query.exec();
2.3 插入数据
插入数据可以使用"QSqlQuery"类的exec()方法,其中输入SQL语句插入数据。以下示例在"person"表中插入一行数据。
QSqlQuery query;
query.prepare("INSERT INTO person (id, name, age) "
"VALUES (1, 'Alice', 20)");
query.exec();
2.4 查询数据
查询数据可以使用"QSqlQuery"类的exec()方法,其中输入SQL语句查询数据。以下示例查询"person"表中的所有数据。
QSqlQuery query("SELECT * FROM person");
while(query.next())
{
int id = query.value(0).toInt();
QString name = query.value(1).toString();
int age = query.value(2).toInt();
// Do something with this data
}
总结
使用Qt操作SQLite数据库不仅简单方便,而且非常灵活可定制。通过以上示例,希望读者能够掌握如何使用Qt操作SQLite数据库,以及常见的SQL语句的使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文教你Qt如何操作SQLite数据库 - Python技术站