admin管理员组

文章数量:1606447

第一步:下载SQLIte
下载地址: https://www.sqlite/download.html

下载两个内容:

  • sqlite-dll-win64-x64-3360000.zip
  • sqlite-tools-win32-x86-3360000.zip

下载完后直接解压,放到到一个文件夹下(这个文件夹可以随便在哪里)。如下图:

第二步:使用SQLite
(网上好多教程都是到这一步就配置环境变量,不知道他们脑子咋想的,轻量级数据库SQLIte本来就应该随着项目到处走。)

  • 直接在解压且合并后SQLIte文件夹下的空白处按住Shift+右键,然后点击“在此处打开powershell窗口”

  • 然后在powershell中输入“.\sqlite3”,然后回车确认(或者直接双击sqlite3.exe);

.\sqlite3

注意:由于没有设置环境变量,每次都必须在相应的文件夹下打开powershell。

  • 创建一个数据库(xxx.db文件)
    输入命令:.open users.db 然后回车
.open users.db

为什么要创建db文件,废话不创建数据都在内存里,不会记录。一关机或者SQLIte程序关了,数据就没了。

  • 创建表
 create table students(
 	ID int primary key not null,
 	name text not null,
 	age int not null
 	);

  • 查看创建的表:.tables
.tables

  • 插入数据
 insert into students(id,name,age) values(1001,"xiaoming",18);

  • 查询表
 select * from students;


分割线------------------------------------------------------

Qt creator (C++)链接SQLite

第一步 使用Qt creator 创建一个项目,并且要编译生成一个Debug或者Release文件夹

第二步 将之前“解压并合并的SQLite文件夹”复制到“此文件夹”下

注意:此SQLite文件夹下已经有个password.db文件了,里面还有一个students表,表里面有一条记录。
“解压并合并的SQLite文件夹”:是指之前说的: sqlite-dll-win64-x64-3360000.zip 和 sqlite-tools-win32-x86-3360000.zip 两个压缩包解压后放在同一个文件夹下,例都放在SQLite文件夹下
“此文件夹”:是指生成的Debug文件夹或者是Release文件夹


第三步 在Qt Creator 的项目中的"xxx.pro"文件中添加 QT += sql

第四步 代码链接数据库

1、必要的头文件

#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>

2、 代码演示

	//这条语句会打印:drivers ("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
    qDebug() << "drivers" << QSqlDatabase::drivers();
	// 加载驱动:这里的驱动必须是上一句打印里面的完全一样,必须是大写,不然会报错:QSqlDatabase: QSQLITE driver not loaded
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    QSqlQuery sql_query;
    // 建立链接(链接一个数据库文件)
    db.setDatabaseName("SQLite/password.db");
    if(!db.open())
    {
        qDebug()<<"Error: Failed to connect database." << db.lastError();
    }else
    {
        qDebug() << "Succeed to connect database." ;
    }

    //查询
    sql_query.exec("select * from students;");
    if(!sql_query.exec())
    {
        qDebug()<<sql_query.lastError();
    }
    else
    {
        while(sql_query.next())
        {
            int id = sql_query.value(0).toInt();
            QString name = sql_query.value(1).toString();
            int age = sql_query.value(2).toInt();

            qDebug()<<"ID = "<<id<<" ; NAME = "<<name <<" ; AGE = "<<age;
        }
    }

    db.close();

运行结果截图

本文标签: 链接教程QTSqlite