• Qt5.8 下链接 Mysql 错误以及解决方法


    Qt 5.8 下链接 Mysql(Windows 平台下),有朋友会出现一个这个无法连接的错误

      QSqlDatabase: QMYSQL driver not loaded

      QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

    解决办法如下

    根据 Qt版本不同 ,32 和 64 的 ,需要的驱动是不同的,总的来说,无论 Mysql 是什么版本的,64 位 Qt 要用 64 位的 Mysql 驱动,32 位的 Qt 要用 32 位的Mysql 驱动,貌似跟安装的 Mysql 的版本没啥关系哦~~~

    我们需要把 /Mysql/lib (自己的 Mysql 安装目录在哪儿自己找)目录下的 libmysql.dll 拷贝到 / Qt/mingw53_32/bin 目录下面就可以了哦。

    测试代码如下:

        QSqlDatabase    dbconn;
        QSqlQuery       query;
        dbconn = QSqlDatabase::addDatabase("QMYSQL");
        dbconn.setHostName("localhost");//主机名字
        dbconn.setDatabaseName("Since");//数据库名字
        dbconn.open("root", "123456");//用户名、密码,成功返回1
        query = (QSqlQuery)dbconn;
        query.exec("select * from first");
        while(query.next())
        {
            int id = query.value(0).toInt();
            QString name = query.value(1).toString();
            qDebug() << QString::number(id) + " : "+ name;
        }

    测试结果为:

      Starting E:since2017Testmysql eleaseTestmysql.exe...

      "0 : Since"

      "1 : Never"

    在进行 MySQL 操作之前,请确保 MySQL 服务已经开启了哦,个别博客还强点在安装 MySQL 的时候要开启网络连接,不知道有没有必要,可能远程连接的时候需要吧~~~

    感谢这位博友给我的启发,如对链接 MySQL 这个还有疑问可以参考这位朋友的博客哦

    http://blog.csdn.net/cateatapple/article/details/52279168

    添加: mysql 8.0 会出现无法连接的情况,原因是加密方式变了,你可以重装选择旧的加密方式,或者在 Mysql Command line 里面 运行 

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '831015'; // 831015 这个是你的 Mysql 密码

    这样就可以了;

  • 相关阅读:
    行列转换等经典SQL语句
    [jQuery]使用jQuery.Validate进行客户端验证(中级篇上)——不使用微软验证控件的理由
    深入分析jQuery.prototype.init选择器源码
    浅析jQuery基础框架
    GCC入门 ——-转载
    [转载]在VC中使用 Flash 美化你的程序
    用VS调试 javascript
    如何提高程序性能
    线程安全的懒单例模版类
    各种计算机语言的经典书籍 (转载)
  • 原文地址:https://www.cnblogs.com/hbrw/p/6753849.html
Copyright © 2020-2023  润新知