在Qt5中SQLite3的使用

一、SQLite简要介绍

什么是SQLite

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。

就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件

为什么要用SQLite

SQLite作为轻量级开源数据库软件,目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快!

  • 不需要一个单独的服务器进程或操作的系统(无服务器的)。
  • SQLite 不需要配置,这意味着不需要安装或管理。
  • 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
  • SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
  • SQLite 是自给自足的,这意味着不需要任何外部的依赖。
  • SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
  • SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
  • SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
  • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE,WinRT)中运行。

SQLite下载

1.SQLite官方下载链接:SQLite Home Page
所需要的四个文件如下如图所示:
在这里插入图片描述

二、在Qt5中使用步骤

第一步:导入sqlite3相关文件

在这里插入图片描述

2. 新建两个文件夹:

db:用于存放数据库文件(.db)
lib:用于存放lib文件(好处:易于区分后面继续添加其他的lib文件)
在这里插入图片描述
第二步:打开qt 修改 .pro文件,添加SQL模块
其实在我们上上述引用lib的时候就已经把库添加进来了。
在这里插入图片描述
第三步:简单测试一下 打开、关闭数据库

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    
    
    ui->setupUi(this);
    initDb();
}

Widget::~Widget()
{
    
    
    delete ui;
}

Widget::initDb()
{
    
    
    sqlite3 *sqldb=nullptr;
    //打开数据库
    int res = sqlite3_open("db/video.db", &sqldb);
    if(res == 0)//打开成功
    {
    
    
        qDebug()<<"open dataBase success!"<<endl;
    }
    else
    {
    
    
        qDebug()<<sqlite3_errcode(sqldb)<<endl;
        qDebug()<<sqlite3_errmsg(sqldb)<<endl;
    }

    //关闭数据库
    res = sqlite3_close(sqldb);
    if(res!=0)
    {
    
    
        qDebug()<<sqlite3_errcode(sqldb)<<endl;
        qDebug()<<sqlite3_errmsg(sqldb)<<endl;
    }
}

猜你喜欢

转载自blog.csdn.net/houxian1103/article/details/132784176
今日推荐