首页 > 数据库 >Qt mingw73_32 + MySql8.0 使用和对数据库操作 - 初窥篇1

Qt mingw73_32 + MySql8.0 使用和对数据库操作 - 初窥篇1

时间:2023-07-24 16:45:08浏览次数:50  
标签:Qt 32 数据库 mingw73 db MySql8.0 password root localhost

1、开发环境

  QtCreator4.8.2 + Qt5.12.2 + MySql8.0.33

2、设计背景

  现在已经有 MySql8.0.33 是 64 位的数据库,仅支持 64 位的程序,但是当前 Qt 程序编译环境是 mingw73_32

  32 位程序连接 64 位的数据库实例

3、操作流程

  1)测试驱动代码 + 测试结果

int main(int argc, char *argv[])
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");    // 可以是本机 localhost 也可以是外网网址
    db.setDatabaseName("mysql");    // 数据库名
    db.setUserName("root");         // 用户名
    db.setPassword("123");          // 用户密码
    
    /* 连接数据库 */
    if (!db.open())
    {
        qDebug() << "Failed to connect to the database:";
        qDebug() << db.lastError().text();
        return -1;
    }
    
    /* 遍历数据库的一个数据表 */
    QSqlQuery query;
    if (query.exec("SELECT * FROM  user"))
    {
        while (query.next()) 
        {
            QString column1 = query.value(0).toString();
            QString column2 = query.value(1).toString();
            // ...
            qDebug() << column1 << column2;
        }
    }
    else
    {
        qDebug() << "Failed to execute SELECT query:";
        qDebug() << query.lastError().text();
    }
    
    /* 断开数据库 */
    db.close();
    return 0;
}

  

  2)遇到问题:"SSL connection error: unknown error number QMYSQL: Unable to connect"

     编译库不支持SSL,需要关闭数据库的 SSL功能 

     解决方法:在数据库的 my.ini 配置文件中的 [mysqld] 后面添加 skip_ssl,即跳过 ssl 功能

     注意:如果更改后出现终端无法登录的问题,重置密码,操作如下(参考链接:https://www.cnblogs.com/zhurong/p/9898675.html

      (1)修改 my.ini 文件先登录进去。

      (2)ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则 

      (3)ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';   #更新一下用户的密码 

      (4)FLUSH PRIVILEGES;   #刷新权限 

      (5)alter user 'root'@'localhost' identified by 'password';

  

标签:Qt,32,数据库,mingw73,db,MySql8.0,password,root,localhost
From: https://www.cnblogs.com/yangjinghui/p/17577467.html

相关文章

  • STM32F103C8在Keil5中烧录后串口工具无法接收到数据(已解决)
    烧录后串口无法接收到数据(默认硬件连线是正确的,只考虑软件配置问题)在通过Keil5烧录程序并成功后,发现串口没有接收到数据烧录成功未报错串口工具无法接收到数据点击魔法棒,进入Debug-Settings,查看Pack-DebugDescription中的Enable是否勾上,发现√上后拔掉下载器并重新插......
  • RS232转Profinet网关rs232和rs485的区别
    在工业自动化领域,如何将扫码枪与PLC连接一直是一个重要的问题。而今天,我们将通过一个案例来展示如何通过RS232转Profinet网关,将X-9300扫码枪接入到PLC1200工业以太网总线上。在这个过程中,我们将会用到捷米的RS232自由协议转Profinet网关。1, 首先,我们需要了解RS232和Profinet两......
  • 通信猫 共享MQTT服务器 在线客户端连接失败
    解决方法使用官方mqtt链接工具(只支持TCP协议)需要有vs2013的dll文件支持,下载连接__官方下载链接,引用自http://www.tongxinmao.com/txm/webmqtt.php正常使用ws协议端口18832连接,控制台输出如下:使用WS协议连接ws协议端口18832,链接失败使用页面客户端工具连接TCP,查看控......
  • Qt Cannot retrieve debugging output报错 (无法获取调试输出.)
    我们在QT中有时会遇到Cannotretrievedebuggingoutput报错,无法利用qDebug输出内容,原因是开了两个qt软件,这是需要我们把其中一个qt软件关了,然后在唯一的qt中打开项目,放心,一个窗口仍然可以运行两个程序。 ......
  • c#学习笔记,实现物联网MQTT通信
    一、什么是MQTT MQTT协议由于其用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务,具有开销低、占用带宽低、即时通讯等优点,使其在物联网、小型设备、移动应用等方面有较广泛的应用,在工业物联网中,MQTT也有广泛的应用。主要有以下特点:使用发布/订阅消息模式,提供......
  • VS 如何用Qt 数据可视化
    VS如何用Qt数据可视化引言在软件开发过程中,数据可视化是非常重要的一环。通过数据可视化,我们可以更直观地展示数据,从而更好地理解和分析数据。Qt是一个功能强大的跨平台开发框架,它提供了丰富的图形绘制和数据可视化工具,可以帮助我们轻松实现各种形式的数据可视化。本文将介绍如......
  • 05. STM32F1的时钟树
    一、STM32的时钟树二、时钟源  对于STM32F1,输入时钟源(InputClock)主要包括HSI,HSE,LSI,LSE。其中,从时钟频率来分可以分为高速时钟源和低速时钟源,其中HSI、HSE是高速时钟,LSI和LSE是低速时钟。从来源可分为外部时钟源和内部时钟源,外部时钟源就是从外部通过接晶振......
  • .netmqtt库
    实现“.netmqtt库”教程作为一名经验丰富的开发者,我将带领你学习如何实现".netmqtt库"。在开始之前,让我们先了解整个实现过程的步骤。下面的表格将展示这些步骤。步骤描述步骤1安装.MQTT库步骤2创建MQTT客户端步骤3连接到MQTT代理步骤4发布消息步骤5订......
  • 洛谷3294 背单词
    这题乍一看是排序贪心,然后使用领项交换来做题由于有了第一条规则的存在,因为\(n*n\)远大于另外两条规则所产生的代价,所以我们不会让后缀排在后面于是乎,我们倒序建立trie树并且重构树(具体可见洛谷题解),那么问题就转换为给这棵树标号,要求必须标了父亲才能标儿子,令每一条边的代价为......
  • STM32F103C8T6串口通信
     首先来看一下需要操作的函数,以及配置的步骤:图1                         图2  Code:usart.c#include"usart.h"voidustart_Init(void){GPIO_InitTypeDefGPIO_Init_Ustar;//定义......