5、QT中SQLite数据库的操作

这篇具有很好参考价值的文章主要介绍了5、QT中SQLite数据库的操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、QT中的SQLite数据库

1、添加头文件和模块

Header:
#include <QSqlDatabase> 
qmake:
QT += sql//pro文件添加sql模块

执行数据库操作的类:

Header:
#include <QSqlQuery> 
qmake:
QT += sql

2、C语言中的SQLite增删减查

SQLite3的基础教程

3、SQLite的初始化

①、创建数据库的链接对象:

QSqlDatabase dataBase;

②、使用数据库驱动

dataBase = QSqlDatabase :: addDatabase("QSQLITE");//添加数据库的驱动

③、设置数据库的名称(创建一个数据库)

dataBase.setDatabaseName("QSQLITE");

④、创建一张表

QString table = "create table user_table(user QString, paswd QString)";
sqlQuery = QSqlQuery(dataBase);//指定这个操作将在哪个数据库上执行。
bool flag = sqlQuery.exec(table);//执行数据库的操作

例子:

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

    dataBase = QSqlDatabase :: addDatabase("QSQLITE");//添加数据库的驱动
    dataBase.setHostName("数据库");
    dataBase.setDatabaseName("QSQLITE");
    dataBase.setUserName("123456");
    dataBase.setPassword("123456");

    //打开数据库
    if(dataBase.open())
    {
        qDebug() << "打开成功" << endl;
    }
    //创建一张表
    QString table = "create table user_table(user QString, paswd QString)";
    //执行数据库的操作
    sqlQuery = QSqlQuery(dataBase);//执行操作的数据库:QSQLITE
    bool flag = sqlQuery.exec(table);//执行数据库的操作
    if(flag==true)
    {
        qDebug()<<"数据库表创建成功"<<endl;
    }
}

4、插入数据

 QString insert = QString("insert into user_table(user,paswd) values('%1','%2')").arg(user).arg(paswd);

例子:

void Widget::on_pushButton_clicked()
{
    QString user = ui->lineEdit->text();
    QString paswd = ui->lineEdit_2->text();

    QString find = QString("select * from user_table where user='%1'").arg(user);
    bool ret = sqlQuery.exec(find);
    if(ret)
    {
        if(sqlQuery.next())
        {
            qDebug() << "账号已经存在" << endl;
            ui->lineEdit->clear();
            ui->lineEdit_2->clear();
            return;
        }
    }

    QString insert = QString("insert into user_table(user,paswd) values('%1','%2')").arg(user).arg(paswd);
    bool flag = sqlQuery.exec(insert);//执行数据库插入操作
    if(!flag)
    {
        qDebug()<<"数据插入失败"<<endl;
    }
    ui->lineEdit->clear();
    ui->lineEdit_2->clear();
}

5、查找数据

①、遍历所有数据并保存

QString find = "select * from user_table";
bool flag = sqlQuery.exec(find);//把遍历的所有数据都保存在sqlQuery内

②、对比数据

while(sqlQuery.next())//遍历查询结果中的每一行记录。
{
	//从查询结果中获取每一行记录的第一列和第二列的值
    QString user = sqlQuery.value(0).toString();
    QString paswd = sqlQuery.value(1).toString();

    if(user == code && paswd == pwd)
    {
        qDebug() << "登录成功" << endl;
    }
    qDebug() << "账号:" << user << endl;
    qDebug() << "密码:" << paswd << endl;
}

例子:文章来源地址https://www.toymoban.com/news/detail-696399.html

void Widget::on_pushButton_2_clicked()
{

    QString code = ui->lineEdit->text();
    QString pwd = ui->lineEdit_2->text();

    QString find = "select * from user_table";
    bool flag = sqlQuery.exec(find);
    if(flag==true)
    {
        qDebug()<<"数据库查询成功"<<endl;
    }

    while(sqlQuery.next())
    {
        QString user = sqlQuery.value(0).toString();
        QString paswd = sqlQuery.value(1).toString();

        if(user == code && paswd == pwd)
        {
            qDebug() << "登录成功" << endl;
        }
        qDebug() << "账号:" << user << endl;
        qDebug() << "密码:" << paswd << endl;
    }
}

6、注意

  • 查询数据的时候,必须要先把遍历的数据保存在sqlQuery类中。

到了这里,关于5、QT中SQLite数据库的操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Qt数据库项目实现(Sqlite3为例)|考查数据库、绘制(画家)、事件等知识点(进阶)

    坚持最初的梦想,扬帆起航,乘风破浪,永不言败。 01 数据库 数据库是什么?简易言之,就是保存数据的文件。可以存储大量数据,包括插入数据、更新数据、截取数据等。用专业术语来说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计

    2024年02月19日
    浏览(32)
  • Sqlite c++操作数据库中文乱码

    char* Utf2Gb(const char* utf8) {     int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);     wchar_t* wstr = new wchar_t[len + 1];     memset(wstr, 0, len + 1);     MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);     len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);     char* str = new char[len + 1];     

    2024年02月03日
    浏览(43)
  • SQLite实战系列——如何优雅地操作数据库?

    在上一篇《SQLite学习(一)SQLite介绍、历史和下载启动方式》 中,讲解了 SQLite的历史,和其下载安装的方式,在本篇博客将讲解 SQLite 中,对数据库的操作。 同学们将学习到: SQLite 创建数据库 SQLite 删除数据库/

    2024年02月03日
    浏览(33)
  • SQLITE_BUSY 是指 SQLite 数据库返回的错误码,表示数据库正在被其他进程或线程使用,因此当前操作无法完成。

    当多个进程或线程同时尝试对同一个 SQLite 数据库进行写操作时,就可能出现 SQLITE_BUSY 错误。这是为了确保数据库的数据完整性和一致性而设计的并发控制机制。 如果你在使用 SQLite 时遇到 SQLITE_BUSY 错误,可以考虑以下解决方法: 重试操作:在捕获到 SQLITE_BUSY 错误后,可以

    2024年02月09日
    浏览(37)
  • 使用Python进行数据库连接与操作SQLite和MySQL【第144篇—SQLite和MySQL】

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在现代应用程序开发中,与数据库进行交互是至关重要的一环。Python提供了强大的库来连接和操作各种类型的数据库,其中包括SQLite和MySQL。

    2024年03月27日
    浏览(45)
  • Python数据库模块sqlite3操作实例(非常实用)

    当使用Python进行SQLite数据库操作时, sqlite3 模块是一个非常常用和强大的工具。它提供了一系列函数和方法,用于创建、连接、查询和管理数据库。下面是一些常见的用法示例:   sqlite-utils 、 sqlitebiter 和其他类似的库可以提供更高级的功能,包括预编译语句的执行优化和数

    2024年02月13日
    浏览(34)
  • 【C# .NET 】使用 Entity Framework Core 操作sqlite数据库

    添加包 EF Core design package   NuGet Gallery | Home 使用用于 EF Core 迁移和现有数据库中的反向工程(基架)的工具需要安装相应的工具包: 可在 Visual Studio 包管理器控制台中使用的 PowerShell 工具的 Microsoft.EntityFrameworkCore.Tools 跨平台命令行工具的 dotnet-ef 和 Microsoft.EntityFramewor

    2024年02月14日
    浏览(44)
  • C++中SQLite数据库操作实例:查询、增加、修改、删除一网打尽

      在C++中使用SQLite数据库需要使用SQLite的C/C++接口。以下是一个简单的示例,演示如何在C++中使用SQLite,并提供了常见的查询、增加、修改和删除功能。为了使用SQLite,你需要下载SQLite的C/C++接口,并链接到你的项目中。 首先,确保你已经下载了SQLite的C/C++接口,然后将头文件

    2024年02月04日
    浏览(36)
  • 在Python中利用内置SQLite3模块进行数据库操作的完整指南

      在Python中,使用SQLite非常方便,Python内置了 SQLite3 模块,无需额外安装。SQLite 是一个轻量级的嵌入式数据库,适用于小型项目和单用户应用。以下是一个简单的示例,演示如何在 Python 中使用 SQLite,并提供了常见的查询、增加、修改和删除功能。 首先,确保你的 Python 安装

    2024年02月03日
    浏览(43)
  • BL302嵌入式ARM控制器进行SQLite3数据库操作的实例演示

    本文主要讲述了在钡铼技术BL302嵌入式arm控制器上运行 SQLite3 数据库的命令示例。SQLite3 是一个轻型的嵌入式数据库,不需要安装数据库服务器进程,占用资源低且处理速度快。 首先,需要将对应版本的 SQLite3 文件复制到设备的 /usr/ 目录下,并解压缩。然后进入 /usr/lib 目录,

    2024年02月14日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包