iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Qt创建SQlite数据库的示例代码
  • 512
分享到

Qt创建SQlite数据库的示例代码

2024-04-02 19:04:59 512人浏览 八月长安
摘要

Qt 创建 sqlite数据库 void Widget::initDB() { // 创建并打开数据库 QSqlDatabase database; data

Qt 创建 sqlite数据库

void Widget::initDB()
{
    // 创建并打开数据库
    QSqlDatabase database;
    database = QSqlDatabase::aDDDatabase("QSQLITE");
//    qDebug() << QApplication::applicationDirPath(); // 获取应用程序当前目录

    database.setDatabaseName("test.sqlite3");
    if(!database.open())
    {
        qDebug() << "Error: Failed to connect database." << database.lastError();
    }
    else
    {
        qDebug() << "Succeed to connect database.";
    }

    // 创建表格
    QSqlQuery sql_query = database.exec("DROP TABLE student");
    // 先清空一下表,可按需添加此句
//    sql_query.exec("DROP TABLE student");
    // 创建表格student
    if(!sql_query.exec("create table student(UserId int primary key, UserName text, PassWord text)"))
    {
        qDebug() << "Error: Fail to create table." << sql_query.lastError();
    }
    else
    {
        qDebug() << "Table created!";
    }
    // 填充表
    if(!sql_query.exec("INSERT INTO student VALUES(1, 'AppleCai', '23')"))
    {
        qDebug() << "Error: Fail to create table." << sql_query.lastError();
    }
    else
    {
        qDebug() << "add one created!";
    }
    // 批量填充表
    QStringList names;
    names << "小A" << "小B" << "小C" << "小D" << "小E" << "小F" << "小G" << "小H" << "小I";

    QStringList password;
    password << "12" << "23" << "34" << "45" << "56" << "67" << "78" << "89" << "90";
    // 绑定关键字后才能进行操作
    sql_query.prepare("INSERT INTO student (UserId, UserName, PassWord) "
                      "VALUES (:UserId, :UserName, :PassWord)");
    qint8 i = 0;
    foreach (QString name, names) // 从names表里获取每个名字
    {
        sql_query.bindValue(":UserId", i+2); // 向绑定值里加入名字
        sql_query.bindValue(":UserName", name); // 成绩
        sql_query.bindValue(":PassWord", password[i]); // 班级
        if(!sql_query.exec())
        {
            qDebug() << "Error: Fail." << sql_query.lastError();
        }
        i++;
    }
    // 读取sqlite
    studentInfo tmp;
    QVector<studentInfo> infoVect; // 数据库缓存
    sql_query.exec("SELECT * FROM student WHERE UserId >= 5 AND UserId <= 9;");
    while (sql_query.next())
    {
        tmp.UserId = sql_query.value(0).toInt();
        tmp.UserName = sql_query.value(1).toString();
        tmp.Password = sql_query.value(2).toString();
        qDebug() << tmp.UserId << tmp.UserName << tmp.Password;
        infoVect.push_back(tmp);
    }
    qDebug("done");

    // 更改表中数据
    sql_query.prepare("UPDATE student SET PassWord = 'admin' WHERE UserName = 'AppleCai'");
    if(!sql_query.exec())
    {
        qDebug() << "Error: Fail." << sql_query.lastError();
    }

    // 删除表中数据
    sql_query.prepare("DELETE FROM student WHERE UserName = '小H'");
    if(!sql_query.exec())
    {
        qDebug() << "Error: Fail." << sql_query.lastError();
    }
}

在这里插入图片描述

以下是个人代码备份

这个代码是在qt写的,包含了数据库的创建和写入,但是我在项目准备直接在dataGrip把数据一键导入创建好数据库之后再用qt里面的sql语句读,所以就不需要这一部分了

#include "sqlitedatabase.h"

SqliteDatabase::SqliteDatabase()
{
    qDebug() << "hhh";
//    initPickNameDB();
}

void SqliteDatabase::initPickNameDB()
{
    // 创建并打开数据库
    QSqlDatabase database;
    database = QSqlDatabase::addDatabase("QSQLITE");
//    qDebug() << QApplication::applicationDirPath();

    database.setDatabaseName(QApplication::applicationDirPath() + "/CONFIG/" + "PickNameDB.sqlite3");
    if(!database.open())
    {
        qDebug() << "Error: Failed to connect database." << database.lastError();
    }
    else
    {
        qDebug() << "Succeed to connect database.";
    }

    // 创建表格 先清空一下表
    QSqlQuery sql_query = database.exec("DROP TABLE department");
    sql_query = database.exec("DROP TABLE person");

    if(!sql_query.exec("create table department (Id int primary key not null, "
                       "DeptName vchar(50) not null )"))
    {
        qDebug() << "Error: Fail to create department table." << sql_query.lastError();
    }
    else
    {
        qDebug() << "Department table created!";
    }
    if(!sql_query.exec("create table person (Id int primary key not null , "
                       "DeptID integer not null , "
                       "PerName vchar(50) not null, "
                       "foreign key(DeptID) references department (Id))"))
    {
        qDebug() << "Error: Fail to create person table." << sql_query.lastError();
    }
    // 填充表
//    sql_query.exec("insert into department (id, name) values (1, '办领导')");
//    sql_query.exec("insert into department (id, name) values (2, '综合处')");
//    sql_query.exec("insert into department (id, name) values (3, '政策法规处')");
//    sql_query.exec("insert into department (id, name) values (4, '机构改革处')");
//    sql_query.exec("insert into department (id, name) values (5, '党群政法行政机构编制管理处')");
//    sql_query.exec("insert into department (id, name) values (6, '政府行政机构编制管理处')");
//    sql_query.exec("insert into department (id, name) values (7, '市县行政机构编制管理处')");
//    sql_query.exec("insert into department (id, name) values (8, '事业机构编制管理处')");
//    sql_query.exec("insert into department (id, name) values (9, '事业单位登记管理处')");
//    sql_query.exec("insert into department (id, name) values (10, '机构编制监督检查处')");
//    sql_query.exec("insert into department (id, name) values (11, '人事处')");
//    sql_query.exec("insert into department (id, name) values (12, '机关党委')");
//    sql_query.exec("insert into department (id, name) values (13, '省机构编制电子政务中心')");
//    sql_query.exec("insert into department (id, name) values (14, '省机构编制研究中心')");

    // 批量填充表
    QStringList deptNames;
    deptNames << "办领导" << "综合处" << "政策法规处" << "机构改革处"
              << "党群政法行政机构编制管理处" << "政府行政机构编制管理处"
              << "市县行政机构编制管理处" << "事业机构编制管理处" << "事业单位登记管理处"
              << "机构编制监督检查处" << "人事处" << "机关党委"
              << "省机构编制电子政务中心" << "省机构编制研究中心";

    // 绑定关键字后才能进行操作
    sql_query.prepare("INSERT INTO department (Id, DeptName) "
                      "VALUES (:Id, :DeptName)");
    qint8 i = 0;
    foreach (QString deptName, deptNames)
    {
        sql_query.bindValue(":Id", i + 1);
        sql_query.bindValue(":DeptName", deptName);
        if(!sql_query.exec())
        {
            qDebug() << "Error: Fail." << sql_query.lastError();
        }
        i++;
    }
    // 读取sqlite
    department dept;
    QVector<department> tmpDept; // 数据库缓存
    sql_query.exec("SELECT * FROM ");
}

到此这篇关于Qt创建SQlite数据库的示例代码的文章就介绍到这了,更多相关Qt创建SQlite内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Qt创建SQlite数据库的示例代码

本文链接: https://www.lsjlt.com/news/149133.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt创建SQlite数据库的示例代码
    Qt 创建 SQlite数据库 void Widget::initDB() { // 创建并打开数据库 QSqlDatabase database; data...
    99+
    2022-11-13
  • Qt怎么创建SQlite数据库
    今天小编给大家分享一下Qt怎么创建SQlite数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Qt 创建 SQlite数...
    99+
    2023-06-30
  • android创建数据库(SQLite)保存图片示例
    代码如下://1.创建数据库public class DBService extends SQLiteOpenHelper { private final static in...
    99+
    2022-06-06
    示例 数据 图片 SQLite 数据库 Android
  • Andorid Sqlite数据库的创建
    Andorid Sqlite数据库的创建创建数据库会使用到一个SqliteOpenHelper的抽象类,要使用这个类进行数据库的创建就要继承该抽象类从而使用他其中的方法.具体步骤如下:1,自定义类继承Sql...
    99+
    2022-10-18
  • mysql创建数据库的示例
    小编给大家分享一下mysql创建数据库的示例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!在mysql中,可以使用“CREATE DATABASE”语句来创建数据库,语法格式为“CREATE ...
    99+
    2022-10-18
  • navicat创建数据库的示例
    这篇文章主要介绍navicat创建数据库的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!navicat怎样创建数据库?在服务中启动Mysql数据库打开navicat选中数据库连接...
    99+
    2022-10-18
  • Android使用SQLite数据库的示例
    一. 简介 SQLite数据库是一个轻量级的DBMS(数据库管理系统)。SQLite使用单个文件存储数据,Android标准库包含SQLite库以及配套使用的一些Java辅...
    99+
    2022-06-06
    示例 sqlite数据库 SQLite Android
  • python链接sqlite数据库的详细代码实例
    一、创建数据库 创建sqlite数据库的代码 import sqlite3 conn = sqlite3.connect("test.db") print("成功创建数据库") ...
    99+
    2022-11-12
  • Qt实现数据导出到xls的示例代码
    目录一、前言二、功能特点三、体验地址四、效果图五、相关代码一、前言 导入导出数据到csv由于语法简单,适用场景有限,于是乎还是必须再造一个轮子导出数据到xls,在经历过数十年的项目实...
    99+
    2022-11-12
  • sql数据库怎么创建表代码演示
    sql数据库是如何创建表的?相信很多新手小白对sql数据库怎么创建表束手无策,通过这篇文章的总结,希望你能收获更多。如下资料是关于sql数据库创建表的内容。SQL是Structured Query Lang...
    99+
    2022-10-18
  • Qt利用QNetwork实现上传数据的示例代码
    目录1、利用Qt提供的类实现向服务器发送post和get请求2、实现文件上传1、利用Qt提供的类实现向服务器发送post和get请求 #include <QCoreApplic...
    99+
    2023-02-24
    Qt QNetwork实现上传数据 Qt QNetwork上传数据 Qt QNetwork
  • C/C++ Qt 数据库与ComBox实现多级联动示例代码
    Qt中的SQL数据库组件可以与ComBox组件形成多级联动效果,在日常开发中多级联动效果应用非常广泛,例如当我们选择指定用户时,我们让其在另一个ComBox组件中列举出该用户所维护的...
    99+
    2022-11-12
  • 数据库中cdc.lsn_time_mapping的示例代码
    小编给大家分享一下数据库中cdc.lsn_time_mapping的示例代码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 代码如下 SELECT&nb...
    99+
    2022-10-19
  • Qt实现边加载数据边显示页面的示例代码
    目录1.定义显示定时器1:定义定时器2:定时器调用3:定时器加载数据2.线程加载数据3.实时呈现加载进度做过C++开发的人们都知道,无论是MFC框架还是QT框架,实现加载数据的等待效...
    99+
    2022-11-13
  • Qt数据库(7)- 创建数据敏感的UI类
    Qt Version 5.14.0 使用之前章节提到的SQL模型,可以很好的在model/view组件中显示数据库数据。然而,有时候数据库中的数据分散显示在UI界面中的不同组件里,这时需要用到QDataWidgetMapper类,它是一个通...
    99+
    2018-10-02
    Qt数据库(7)- 创建数据敏感的UI类
  • python代码创建数据库步骤
    目录 一、安装相应的数据库连接库 二、导入所需的库和模块: 三、建立数据库连接: 四、创建游标对象: 五、执行 SQL 查询和操作: 六、提交更改: 七、关闭数据库连接: 示例代码: 一、安装相应的数据库连接库 根据你使用的数据库类型...
    99+
    2023-10-22
    数据库 python
  • 数据库中tmstamp monitor的示例代码
    这篇文章主要介绍了数据库中tmstamp monitor的示例代码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。USE [DBCe...
    99+
    2022-10-19
  • 数据库中AGStatus SQL的示例代码
    小编给大家分享一下数据库中AGStatus SQL的示例代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • mongodb创建数据库代码怎么写
    在MongoDB中,可以使用以下代码来创建数据库:```javascript// 引入MongoDB驱动程序const MongoC...
    99+
    2023-08-24
    mongodb 数据库
  • Java操作MongoDB数据库的示例代码
    目录环境准备 1.数据库操作 1.1获取所有数据库1.2获取指定库的所有集合名1.3.删除数据库2.文档操作 2.1插入文档 2.2查询文档 2.3分页查询 2.4修改文档2.5 删...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作