zoukankan      html  css  js  c++  java
  • 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源码 ]。

  • 相关阅读:
    mysql 导入CSV数据 [转]
    Linux用户态程序计时方式详解[转]
    [转] Bash脚本:怎样一行行地读文件(最好和最坏的方法)
    第二次作业
    软件工程原理与方法 第一次作业
    2017-02-19,周日整理
    2017-02-12,周日整理
    cnblogs,第一次博客纪念。
    堆和栈的区别(转过无数次的文章)
    Flash Player版本相关问题
  • 原文地址:https://www.cnblogs.com/tianyalu/p/5045853.html
Copyright © 2011-2022 走看看