• CentOS 6.5 下 QT4 连接 mysql 数据库的步骤


    QT4 的安装请参考: CentOS 6.5 下安装 QT 4

    mysql 的安装请参考: CentOS 6.5 下安装配置 mysql

    1. 预防万一,先安装一下mysql-devel(一定要装!), 不安装的话后面编译会出现找不到-lmysqlclient的问题。如果您参考上面的文档安装 mysql,则 mysql-devel 是安装了的,此步骤可忽略。

    2. 开始编译:

       a. 进入QT解压文件夹那个存放mysql驱动源码的目录 [注:是SDK, 非QT creator ]

        cd /home/Tian/software/qt-everywhere-opensource-src-4.8.7/src/plugins/sqldrivers/mysql

       b. 下面的语句我修改一下了qt助手里的,因为我的mysql库的位置是在/usr/include/mysql,/usr/lib/mysql 中。

        qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro  

        或者 [ 注:这一步我出错了很多次,最后到底是那个成功的我也不清楚(表打我),事实上是include和libs

        一定要 指定到 MySQL头和库所在的路径 ]

        qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib64/mysql -lmysqlclient_r" mysql.pro

       c. make一下

        make

    3.  安装

      make install    //生成, 在上面make那步好像也生成过的了,不过这一步还是要做一下··

    4. 完成

      你可以在QT安装文件夹/usr/local/Trolltech/Qt-4.8.7/plugins/sqldrivers 里找到一个刚生成的 libqsqlmysql.so ,这个就是mysql的驱动。 [ 注:是在安装文件夹下,非解压文件夹下,我在解压文件夹下找了半天没找到,晕死。]

      这个是我编译好的 mysql 驱动:点我下载 ,大家可以直接下载解压使用,放到目录  /usr/local/Trolltech/Qt-4.8.7/plugins/sqldrivers 下即可。

    5. 测试

    打开Qt Creator,新建一个项目(Qt Widgets Application), main.cpp 中的代码如下:

    #include "mainwindow.h"
    #include <QApplication>
    #include <QtGui/QApplication>
    #include <QtSql>
    #include <QLabel>
    #include <QSqlDatabase>
    
    bool createConnection()
    {
        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setHostName("localhost");
        db.setUserName("root");
        db.setPassword("123456");
        if (!db.open())
            return false;
        db.close();
            return true;
    }
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QLabel* label = new QLabel;
        label->setWindowTitle("Qt_MySql");
        if (createConnection())
            label->setText("connection success...");
        else
            label->setText("connection failed...");
        label->show();
    
        return a.exec();
    }

     然后在 .pro 文件中添加 sql ,如下图所示:

    运行结果如下图所示,则表示数据库连接成功。

    这个是我做的一个对数据库增删改查的小例子,大家可以下载参考[ Task源码 ]。

  • 相关阅读:
    JetBrains Rider 在 Mac 环境下将 cs 文件生成 exe
    Unity3d 控制物体移动、旋转、缩放
    Unity3d 脚本使用规则
    Unity3D 脚本模板修改方法
    Intelli IDEA 设置项目编码(Mac)
    搭建LayaBox的生产环境,并helloWorld
    unity Lighting
    流畅度测试
    Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
    Unity GUI(uGUI)使用心得与性能总结
  • 原文地址:https://www.cnblogs.com/tianyalu/p/5045853.html
Copyright © 2020-2023  润新知