C++/Qt使用Sqlite3数据库

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
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值