SQLite3+Qt开发SQLite3简要介绍+在Qt5中的使用步骤

Posted 猿力猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLite3+Qt开发SQLite3简要介绍+在Qt5中的使用步骤相关的知识,希望对你有一定的参考价值。

目录

一、SQLite简要介绍

什么是SQLite?

为什么要用SQLite?

         SQLite下载

二、在Qt5中使用步骤

第一步:导入sqlite3相关文件

第二步:打开qt 修改  .pro文件,添加SQL模块

第三步:简单测试一下 打开、关闭数据库


一、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

2.SQLite博主资源:sqlite3相关文件.zip-SQLite文档类资源-CSDN下载 

所需要的四个文件如下如图所示:

二、在Qt5中使用步骤

第一步:导入sqlite3相关文件

1.打开qt工程文件

2. 新建两个文件夹:

data:用于存放数据库文件(.db)

lib:用于存放lib文件(好处:易于区分后面继续添加其他的lib文件)

 .h文件和.dll文件直接放到qt工程文件下即可


第二步:打开qt 修改  .pro文件,添加SQL模块

LIBS += $$PWD/lib/sqlite3.lib


第三步:简单测试一下 打开、关闭数据库

main.cpp:

#include "widget.h"
#include <QApplication>
#include "sqlite3.h"
#include <QDebug>

int main(int argc, char *argv[])

    QApplication a(argc, argv);

    sqlite3 *sqldb=nullptr;
    //打开数据库
    int res = sqlite3_open("data/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;
    

    return a.exec();

成功打开数据库!

参考:

QT5中使用SQLite_姜亚轲的博客-CSDN博客_qt sqlite

sqlite3使用简介 - 柯大侠 - 博客园

QT5中如何使用SQLite

SQLite是一款开源轻量级的数据库软件,本文主要介绍了QT5中使用SQLite的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。

Qt5以上版本可以直接使用SQLite。

1、修改.pro文件,添加SQL模块:

QT += sql

2、main.cpp代码如下:

#include "mainwindow.h"
#include
//添加头文件
#include
#include
#include
#include

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

//建立并打开数据库
QSqlDatabase database;
database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName("MyDataBase.db");
if (!database.open())
{
qDebug() << "Error: Failed to connect database." << database.lastError();
}
else
{
qDebug() << "Succeed to connect database." ;
}

//创建表格
QSqlQuery sql_query;
if(!sql_query.exec("create table student(id int primary key, name text, age int)"))
{
qDebug() << "Error: Fail to create table."<< sql_query.lastError();
}
else
{
qDebug() << "Table created!";
}

//插入数据
if(!sql_query.exec("INSERT INTO student VALUES(1, \\"Wang\\", 23)"))
{
qDebug() << sql_query.lastError();
}
else
{
qDebug() << "inserted Wang!";
}
if(!sql_query.exec("INSERT INTO student VALUES(2, \\"Li\\", 23)"))
{
qDebug() << sql_query.lastError();
}
else
{
qDebug() << "inserted Li!";
}

//修改数据
sql_query.exec("update student set name = \\"QT\\" where id = 1");
if(!sql_query.exec())
{
qDebug() << sql_query.lastError();
}
else
{
qDebug() << "updated!";
}

//查询数据
sql_query.exec("select * from student");
if(!sql_query.exec())
{
qDebug()<

3、应用程序输出如下:

QT5中如何使用SQLite_sql

4、创建的 MyDataBase.db 在build的这个文件夹下:

D:\\QT\\project\\build-sl-Desktop_Qt_5_10_1_MinGW_32bit-Debu

本文地址:​​https://www.linuxprobe.com/qt5-sqlite-method.html​

以上是关于SQLite3+Qt开发SQLite3简要介绍+在Qt5中的使用步骤的主要内容,如果未能解决你的问题,请参考以下文章

SQLite3命令操作大全

qt 怎样将sqlite3数据显示到列表框中,急求

Qt sqlite3.o: undefined reference to symbol ‘dlclose@@GLIBC_2.2.5‘

如何在tableview中显示sqlite3中 的表中的信息

SQLite3的使用(用到了dll)good

adb命令具体解释——手机缺失sqlite3时操作数据库的多种解决方式