一步步学Qt,第十天-MYSQL数据库操作

【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一、编译连接前准备) 写在最前面的话: 自己想做一个英语单词记录软件,可以在手机上和电脑上进行记录和查看,所以自己决定利用腾讯云数据库(云加校园活动很棒,不是打广告哈),然后自己准备利用qt编写尚未机软件。首先自己是在腾讯云上购买了云数据库,然后利用腾讯云的数据库管理的软件测试新建了数据库。 ... 阅读详情

一步步学Qt,第十天-MYSQL数据库操作


Qt连接数据库Mysql的办法可以查看:一步步学Qt.第二天-续集-mysql连接成功。


今天写了一个连接数据库的demo,我把数据库操作与数据展示独立开了,也差不多就是Qt里面所说的Model/View模式。具体看下面:

数据表:

在windows cmd中查看


图示分析:
1、登录mysql的方法:mysql -u "username" -p [return]
*return 就是回车
还记得Qt的回车事件么???》》》Qt::Key_Return
2、选择数据库:use databasename
3、查看数据表:show tables;
4、查看数据表的结构:desc tablename;

程序完整code
#ifndef DATABASELAYER_H
#define DATABASELAYER_H
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlTableModel>

class DataBaseLayer
{
public:
    DataBaseLayer();
    bool dbopen();
    void dbclose();
    QSqlTableModel* getViewTableModel(QString table);
private:
    QSqlDatabase db;
};

#endif // DATABASELAYER_H

#include <QSqlTableModel>
#include "databaselayer.h"

DataBaseLayer::DataBaseLayer()
{
    db = QSqlDatabase::addDatabase("QMYSQL");
    db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("admin");
}

bool DataBaseLayer::dbopen()
{
    return db.open();
}

void DataBaseLayer::dbclose()
{
     db.close();
}

QSqlTableModel*  DataBaseLayer::getViewTableModel(QString table)
{
    QSqlTableModel *model = new QSqlTableModel;
    model->setTable(table);
    model->setSort(0,Qt::AscendingOrder);
    model->setHeaderData(0,Qt::Horizontal,"Name");
    model->setHeaderData(1,Qt::Horizontal,"Sex");
    model->setHeaderData(2,Qt::Horizontal,"age");
    model->select();
    return model;
}
 
  

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QSqlTableModel>
#include "databaselayer.h"

namespace Ui {
    class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private slots:
    void on_Widget_destroyed();

private:
    Ui::Widget *ui;
    DataBaseLayer *db;
    QSqlTableModel *model;
    void closeEvent(QCloseEvent *);
};

#endif // WIDGET_H



#include "widget.h"
#include "ui_widget.h"
#include <QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    db = new DataBaseLayer;
    QString table = "qt_user";
    model = db->getViewTableModel(table);
    ui->tableView->setModel(model);
}

Widget::~Widget()
{
    delete ui;
    delete db;
}

void Widget::closeEvent(QCloseEvent *)
{
    db->dbclose();
}


#-------------------------------------------------
#
# Project created by QtCreator 2011-09-02T12:20:44
#
#-------------------------------------------------

QT       += core gui
QT       +=sql

TARGET = sql
TEMPLATE = app


SOURCES += main.cpp\
        widget.cpp \
    databaselayer.cpp

HEADERS  += widget.h \
    databaselayer.h

FORMS    += widget.ui


在数据库中添加数据信息:



分析:

SQL的insert into数据插入语句:insert into tablename values(value1,value2,..);

*当您的数据表的字段使用varchar类型的时候,value*记得加上‘’哦,eg:insert into qt_user('hello','girl',10);


程序运行效果:



一步步学Qt.第二天-续集-mysql连接成功 不断辛苦,不断尝试,这把才将mysql的驱动ok了. 写了一个小小的demo #include #include #include #include #include int main(int argc,char *argv[]){ QApplica 阅读详情

相关推荐

Unity3D 集成 SQLite 数据库实战:从零搭建到数据可视化

本文详细介绍了在Unity3D项目中集成SQLite数据库的完整实战流程。从SQLite的轻量、稳定、易用特性讲起,逐步指导开发者完成环境配置、驱动集成、C#脚本编写(涵盖连接、建表、增删改查),并进阶演示了数据模型封装与在Unity UI中实现数据可视化的方法。最后提供了多线程访问、路径差异、性能优化等关键避坑指南,帮助开发者构建可靠高效的本地数据管理方案。

weixin_29291069的博客 91

Qt+MySQL编程

项目需要开发一个数据库软件,并且整个软件都是使用Qt搭建的,数据库选用的是MySQL,因此需要使用Qt调用MySQL,在此记录一下相关方法与问题,以方便自己与他人。 本项目使用的是QtCreator(Qt5.5.0)+VisualStudio2013+MySQL5.7.17.0搭建。其他版本只要版本是正确对应的,都大同小异。 准备工作 假设你已经正确安装了Qt和MySQL,并且已经将文件../M...

KunBB的博客 2万+

基于 parallels ubuntu 20.04 LTS (focal) 的ros+px4+gazebo 安装

基于 parallels ubuntu 20.04 LTS (focal) 的ros+px4+gazebo 安装。

weixin_40132006的博客 2241

Qt中MySQL的使用实例以及数据库遍历

1、连接数据库 QSqlDatabase db; //需要进行判断默认的连接名是否存在, //如果不存在才使用addDatabase()方法,如果存在则使用database()方法 if(QSqlDatabase::contains("qt_sql_default_connection")) db = QSqlDatabase::databa...

左霖风的博客 7990

电子数据取证实战:从“平航杯”竞赛看计算机检材分析的关键技术与案例解析

本文通过'平航杯'电子数据取证竞赛案例,深入解析计算机检材分析的关键技术,包括USB设备追踪、浏览器历史分析、AI换脸取证、虚拟货币交易追踪等实战技巧。重点探讨了数字痕迹的发现与关联,以及电子取证工具链的应用,为从业人员提供实用的技术参考和案例分析。

www00的博客 537

ubuntu安装glibc

VSCode 在ubuntu下调试无法打开libc-start.c raise.c等1. 安装glibc2. launch.json中添加路径映射3. 调试 1. 安装glibc apt install glibc-source cd /usr/src/glibc/ sudo tar -xvf glibc-[VERSION].tar.xz 2. launch.json中添加路径映射 "sourceFileMap": { "/build/glibc-S7xCS9": "/usr/src/glib

wq_0708的博客 3万+

Qt多线程继承自QObject类方法二

新建一个类,继承自QObject类,在类中设置一个线程函数。通过发出mySignal信号调用处理槽函数。 class MyThread : public QObject { Q_OBJECT public: explicit MyThread(QObject *parent = nullptr); //线程处理函数 void myTimeout(); v...

zhan_zhan1的博客 1230

C#中的Chart控件——当数据源很多时可以显示进度条拉动观察,也可以记录到后台文本详细对照

C#中的Chart控件——当数据源很多时可以显示进度条拉动观察,也可以记录到后台文本详细对照下面进行详细步骤说明,感兴趣的同学可以看一下: 1简单示例(一条线): 2.数据源随着时间不断变化,进度条变化 。多条线: 3.看在整段时期内的数据大体图(消去或出现)进度条: 4.后台将时刻记录变化记录到一个txt文本里以供详细校验: 话不多说上码: using System; using Sys...

帅boy的博客 4308

qt mysql 获取自增id_一步步学Qt,第十天-MYSQL数据库操作

一步步学Qt,第十天-MYSQL数据库操作今天写了一个连接数据库的demo,我把数据库操作与数据展示独立开了,也差不多就是Qt里面所说的Model/View模式。具体看下面:数据表:在windows cmd中查看图示分析:1、登录mysql的方法:mysql -u "username" -p [return]*return 就是回车还记得Qt的回车事件么???》》》Qt::Key_Return2、...

weixin_31062007的博客 769

SAP VC 可配置物料超级BOM简介

在有些业务中比如:汽车、笔记本、电脑、电梯等产品中,其中组成产品的型号个框架是确认的 ,但是框架内部的BOM是可变的,在客户下销售订单的时候,选取对应的组件 ,让后通过MRP的计算优生产线对这样的销售订单提供生产。这个时候我们需要选择我们需要的内存和硬盘的型号,还记得我们前面创建的特征值对应的吗,A对应的8G、B对应16G、X对应1T硬盘、Y对应2T硬盘,这里我们填写对应的值,我们这里选择16G的内存和2T的硬盘,B和Y。3、当我们选择了可配置物料的生产模式时,基本上就选择了按单生产的生产模式了。

我小时候很黑的博客 1万+

视觉SLAM十四讲slambook2示例代码所有依赖库的编译安装教程(VTK、OpenCV3、ceres、Sophus、g2o、Eigen、Pangolin、googletest等)

这是2021年的最后一篇博客~ 新年快乐! 0 准备工作   首先需要先安装cmake编译器: sudo apt-get install cmake   以及,将十四讲的示例代码克隆下来(十四讲的源码地址点击这里): git clone --recursive https://github.com/gaoxiang12/slambook2.git   由于里面的3rdparty文件夹内所有内容都来自于其他github仓库,所以需要加上--recursive参数,不然克隆下来的内容不完整。   如果你.

zeeq的博客 7839

mysql前10天数据库_一步步学Qt,第十天-MYSQL数据库操作

一步步学Qt,第十天-MYSQL数据库操作今天写了一个连接数据库的demo,我把数据库操作与数据展示独立开了,也差不多就是Qt里面所说的Model/View模式。具体看下面:数据表:在windows cmd中查看图示分析:1、登录mysql的方法:mysql -u "username" -p [return]*return 就是回车还记得Qt的回车事件么???》》》Qt::Key_Return2、...

weixin_39833270的博客 84

信捷PLC XD5系列运动控制(10轴)编程应用篇

项目PLC采用XD5-60T10-E,36DI 24DO 晶体管输出,支持10路脉冲输出功能。TMR指令定时器时基可以自己设定,这点比其他品牌PLC方便。ZRN指令我们需要上升沿指令触发。 5、变址寻址 该说不说这个变址寻址是真的强,比西门子指针、三菱的变址寄存器Z 、V都要更加灵活。 7、特殊寄存器:时钟 8、如何建立PLC通讯...............

RXXW_Dor的博客 1万+

Linux下的QT对MySQL数据库操作

由于在QT5的版本中移除了MySQL数据库驱动libqsqlmysql.so,因此我们需要使用qmake对QT源码进行重新编译以生成libqsqlmysql.so。设置 root 用户的密码、删除匿名用户、禁止 root 远程登录等。如进行以上设置可使用mysql -u root -p登录到MySQL。MySQL 在安装后提供了一个安全性脚本,用于加固数据库系统。上述步骤一定注意路径,对应于自己的QT安装路径,步骤较繁琐。如若需要下载其他版本,将链接后的数字更改即可。可以看到MySQL服务器启动成功。

weixin_53186909的博客 5413

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

QT的数据库操作

QT的数据库操作 文章目录QT的数据库操作1 数据库操作方式(1)2 使用模型操作数据库(2)3 可视化显示数据库数据 1 数据库操作方式(1) Qt 提供了 QtSql 模块来提供平台独立的基于 SQL 的数据库操作。 这里我们所说的“平台独立”,既包括操作系统平台,有包括各个数据库平台。另外,我们强调了“基于 SQL”,因为 NoSQL 数据库至今没有一个通用查询方法,所以不可能提供一种...

wolfGuiDao的博客 5127

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

QT操作mysql数据库

** 更新时间:2020-08-06 ** QT使用操作mysql数据库的详细教程 (给自己看的。哈哈哈) 首先第一步,导入数据库模块 pro文件添加: QT += sql 连接数据库 void OperateDB::linkDB() { db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName(address); db.setPort(port); db.setUserName(account); db.set

Happinessคิดถึง的博客 4619

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【QT教程】QT6数据库操作

QT6数据库模块概述QT6数据库操作,QT6数据库模块概述QT6是Qt Framework的最新版本,提供了对数据库操作的支持。QT6数据库模块主要包括两个部分,QSQL Database和QSQL Driver。其中,QSQL Database是一组数据库抽象层类,用于简化不同数据库的操作;QSQL Driver是数据库驱动程序,用于实现与具体数据库的连接和交互。QSQL Database模块QSQL Database模块主要包括以下类,

QT性能优化QT原理源码QT界面美化 1117

【QT教程】QT6数据库操作 QT数据库编程

QT6数据库模块概述QT6数据库操作,QT6数据库模块概述QT6是Qt Framework的最新版本,提供了对数据库操作的支持。QT6数据库模块主要包括两个部分,QSQL Database和QSQL Driver。其中,QSQL Database是一组数据库抽象层类,用于简化不同数据库的操作;QSQL Driver是数据库驱动程序,用于实现与具体数据库的连接和交互。QSQL Database模块QSQL Database模块主要包括以下类,

QT性能优化QT原理源码QT界面美化 1173

QT踩坑第十天(ini,xml及数据库操作)

一、TabWidget控件 TableWidget类似于excel表格 insertColumn()列插入函数 insertRow()行插入函数 setItem()文件添加 1.0UI界面添加Item 表头 每个Item都可以单独设置其属性 1.1代码添加Item 设置行、列宽度 //设置tableWidget的行列宽度 ui->tableWidget->setRowCount...

qq_41848597的博客 1015

QT+MySQL数据库操作

经过两天的努力终于在我的笔记本上面把一个用QT+Mysql的东西做完了,此处主要是想记录一下我这两天遇到的几个很坑的地方,用一个小demo来进行演示,首先说一下我的配置,我电脑里面用的QT Creator 4.8.2,QT5.12.2的MSVC2017_64的kit编译,首先我想强调的第一个坑就是版本要搞对,首先安装mysql的时候要注意自己数据库的版本是多少,是否与qt的版本是对应的。然后就是要...

liaoshiju0210的博客 1914

Qt从入门到入土(十一) -数据库操作--MySQL

本篇文章详细介绍了MySQL数据库的使用,看完本篇文章相信你一定会对MySQL数据库有一个深入了解。

2302_82012065的博客 2539

Qt进行数据库操作指南

Qt是一个强大的跨平台应用程序开发框架,其中的Qt SQL模块提供了对多种数据库的支持,包括SQLite、MySQL、PostgreSQL等。在这篇博文中,我们将探讨如何使用Qt进行基本的数据库操作,包括连接数据库、创建表、插入数据、查询数据以及关闭连接。本文介绍了Qt中QSqlDatabase的基本操作,通过增删改查熟悉该类的数据操作基础,能为后续在项目中使用SQL数据库进一步学习事务处理、批量操作、数据绑定、多线程查询等高级技巧提供基础。

toonyhe的博客 633

qt 数据库操作

QT提供了基本数据库的驱动,通过不同的数据库驱动可以实现访问不同的数据库操作。本文主要介绍了如何连接数据库驱动,着重讲解了连接MySql的步骤

qq_43168163的博客 920
上一篇: 个人blog已经开通
下一篇: Qt十天之战告一段落
Qicz
博客等级 码龄16年 56粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值