首页 > 数据库 >刘金玉QT学习笔记:6-sqlite简易入门+QT结合使用

刘金玉QT学习笔记:6-sqlite简易入门+QT结合使用

时间:2023-11-23 15:14:22浏览次数:43  
标签:sqlite QT 创建 数据库 userinfo sql 金玉

//第一篇,测试一下

1. Sqlite

-linux自带

-轻量级

-关系型数据库

2. 安装

-进入官网后点击Downloads

-下载下图的两个zip,解压后把里面的文件放到C盘下自创一个sqlite的文件夹

微信截图_20231123113901

3. 通过命令行使用sqlite3.exe来使用数据库

-配环境变量作用:不用进入路径位置就可以打开(sqlite)

4. 基本使用

-创建数据库

微信截图_20231123114814

-创建userinfo数据表:

create table userinfo(username,pwd);

-向表中插入一行记录

insert into userinfo(username,pwd) values(‘june’,123);

-查询表中所有数据

select * from userinfo;

-更新表中数据

微信截图_20231123115620

-删除表中记录

微信截图_20231123120117

!做好数据库备份以防误操作!

5. QT使用sqlite

-先进入sql类库:在pro工程文件引入sql类库

微信截图_20231123120644

-widget.h

引入#include <QSqlDatabase>连接并创建数据库

Notes:

1 在widget.h的private声明db来全局使用数据库:

微信截图_20231123122258

2 查看帮助文档获取连接某种数据库的驱动名:

1

3 在widget.cpp里创建数据库,注意要open才能真正创建,且创建的db位于build文件夹下:

微信截图_20231123122801微信截图_20231123122354

引入#include <QSqlQuery>就可以执行数据库语句了

Notes:

1 一种方法:sql类对象创建时应在db.open()下面,语句使用用sql.exec(“”),””内不用带‘;’:

微信截图_20231123140815

下节课笔记说另一种。

2 多次在QT内构建,若表名重复不会创建相同名表,但会成功插入多条相同记录:

微信截图_20231123141036

标签:sqlite,QT,创建,数据库,userinfo,sql,金玉
From: https://www.cnblogs.com/acciosth/p/17851551.html

相关文章

  • litestream sqlite流式复制工具
    litestream是基于golang开发的sqlite流式复制工具,可以方便的复制数据到s3或者一些共享存储中说明litestream使用简单,对于一些基于sqlite的db存储的应用备份,是一个很不错的选择(比如默认的grafana,proxysql)同时litestream对于s3兼容的存储支持也很不错(minio)值得试用下参考资料......
  • QT实战 之TableWidget控件
    QT实战之TableWidget控件指定列数setColumnCount(3)指定表头setHorizontalHeaderLabels(QStringList)指定行数setRowCount(5)设置每个单元格的内容setItem(int行数,int列数,*QTableWidgetItem内容)#include "tablewidget.h"#include "ui_tablewidget.h" TableWidge......
  • QT实战 之自定义控件(QSpinBox+QSlider)
    QT实战之自定义控件(QSpinBox+QSlider)创建自定义控件(QT设计师界面类)打开ui文件,拖拽需要用到的基础控件(QSpinBox+QSlider)事件绑定(注意QSpinBox::valueChanged有重载,需要用函数指针指定信号函数)使用自定义控件(拖拽添加Widget容器控件,右键菜单--提升为,打开提升对话框,填写提升的......
  • QT实战 之事件和定时器
    QT实战之事件和定时器自定义控件MyLabel,继承自QLabel(创建时继承自QWidget,创建好后再修改成QLabel)拖拽Label控件到主界面,然后将该控件提升为MyLabel(注意必须用MyLabel的直接父类进行提升,如果用Widget则无法进行提升)在MyLabel头文件中中声明重写事件在MyLabel源文件中重写事件......
  • 七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门
    前言今天我们花费一个小时快速了解SQLite数据类型、SQLite常用命令和语法。七天.NET8操作SQLite入门到实战详细教程第一天SQLite简介第二天在Windows上配置SQLite环境EasySQLite项目源码地址GitHub地址:https://github.com/YSGStudyHards/EasySQLite......
  • windows安装QT时出现“无法下载存档……”解决办法
    参考windows、Ubuntu安装QT时经常出现“无法下载存档……”解决办法-CSDN博客使用国内源安装:清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/北京理工大学:http://mirror.bit.edu.cn/qtproject/中国互联网络信息中心:http://mirror.bit.edu.cn/qtproject/步骤:在qt的exe......
  • 实例讲解C++连接各种数据库,包含SQL Server、MySQL、Oracle、ACCESS、SQLite 和 Postgr
     C++是一种通用的编程语言,可以使用不同的库和驱动程序来连接各种数据库。以下是一些示例代码,演示如何使用C++连接SQLServer、MySQL、Oracle、ACCESS、SQLite和PostgreSQL、MongoDB数据库。连接SQLServer数据库要使用C++连接SQLServer数据库,可以使用Micro......
  • 七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境
    前言SQLite的一个重要的特性是零配置的、无需服务器,这意味着不需要复杂的安装或管理。它跟微软的Access差不多,只是一个.db格式的文件。但是与Access不同的是,它不需要安装任何软件,非常轻巧。七天.NET8操作SQLite入门到实战详细教程第一天SQLite简介EasySQLite项目源码地址......
  • [Qt] QTableView 点击左上角重新排序
    QSortFilterProxyModel的排序函数如果column是-1时可以重置通过findChild找到QTableView左上角的button//cornerbuttonoftableviewautocornerBtn=view->findChild<QAbstractButton*>();//donotselectallwhenclickedcornerBtn->disconnect();......
  • Qt blockSignals
    有时我们需要,控件不接收信号,可以使用blockSignals 当设置为true时,QObject对象[子类]不会发出信号1、函数原型1boolQObject::blockSignals(boolblock)2Ifblockistrue,signalsemittedbythisobjectareblocked(i.e.,emittingasignalwillnotinvokeanythin......