1、Qt使用数据库
- .pro文件添加指令添加sql模块 QT+=sql
- 单独建立一个头文件,来处理数据库连接等操作,如建立以下头文件:
代码: connect_Sqlite3.h
#ifndef CONNECTION_H
#define CONNECTION_H
#include <QMessageBox>
#include <QSqlDatabase> // 实现了数据库连接的操作
#include <QSqlQuery> // 执行SQL语句
#include <QDebug> // 调试命令语句
static bool createConnection(){
// 1.创建一个QSqlDatabase对象;
QSqlDatabase db ;
// 2.为数据库对象设置数据库类型和链接名称;
db = QSqlDatabase::addDatabase("QSQLITE", "connection1");
// 3、设置数据库文件的名字
db.setDatabaseName("MyDataBase.db");//需要用到的数据库
// 4、打开数据库
if (!db.open()) {
//如果数据库连接失败,则弹出
qDebug() << "Error: Failed to connect database." << database.lastError();
return false;
}
return true;
}
#endif // CONNECTION_H
分析代码:
addDatabase
addDatabase(QString type, QString connectionName = QLatin1String(defaultConnection))
para1: 数据库类型;
para2: 链接名称;默认的链接名称为 qt_sql_default_connection 可以用下面代码进行判断是否有其链接正在链接,如果有返回这个链接,如果没有设置新的数据库句柄。
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
代码
QSqlDatabase database;
if (QSqlDatabase::contains("qt_sql_default_connection"))
{
database = QSqlDatabase::database("qt_sql_default_connection");
}
else
{
// 建立和SQlite数据库的连接
database = QSqlDatabase::addDatabase("QSQLITE");
// 设置数据库文件的名字
database.setDatabaseName("MyDataBase.db");
}
- 打开数据库
使用 open() 打开数据库,并判断是否成功。注意,在第一步检查连接是否存在时,如果连接存在,则在返回这个连接的时候,会默认将数据库打开。 - 关闭数据库
数据库操作完成后,最好是关闭数据库 db.close();
2. 操作数据库
对数据库进行操作需要用到 QSqlQuery 类,操作前必须定义一个对象。下面举例说明操作方法。操作需要使用 SQL 语句,本文中的几个例子会使用几个常用的语句,关于 SQL 语句的具体信息可以参考另一篇博客 SQL语句
2.1 创建表格
创建一个名为student的表格,表格有三列,第一列是id,第二列是名字,第三列是年龄。
代码:创建表格
- 第一行定义一个 QSqlQuery 对象;
- 第二行是一个 QString ,其中内容是SQLite语句。对数据库的操作,都是用 SQLite 的语句完成的,把这些指令以 QString 类型,通过 prepare 函数,保存在 QSqlQuer