`
heweiding155
  • 浏览: 29614 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

window下qt creator 连接mysql数据库

阅读更多

      qt由于授权许可的限制,Qt的开源版本没有提供所有数据库的驱动程序。免费下载的中只含有QSQLITE也就是SQLite的驱动程序,要想与mysql或oracle等连接需要自己编译其驱动。

由于种种问题,经历各种重装,各种失败,本人用了两天才成功用qt连接上了mysql数据库。(看网上其他教程都是分分钟搞定  -_-!!) 在这里也写一下自己的经历。

下边开始正文:

一.下载mysql http://dev.mysql.com/downloads/ 目前最新版本5.5。

二.安装mysql  安装时不能选择Typical型,这样会缺少库文件(include和lib文件夹)。啥都不管直接选择FUll型。

三.将mysql安装目录下的include和lib两个文件夹拷贝到qt\4.7.4\src\plugins\sqldrivers\mysql下。可以自己新建一个目录如mysqllib。

  四.修改mysql.pro文件,在第二行添加如下内容

      INCLUDEPATH += "./mysqllib/include" 

LIBS+= "./mysqllib/lib/libmysql.lib"

    五.将QT的bin目录和mingw的目录都添加到环境变量的path中。

    六.运行qt 4.7.4 Command Prompt 输入以下命令(路径自己注意修改)

cd qt\4.7.4\src\plugins\sqldrivers\mysql

qmake 

mingw32-make release

mingw32-make debug

       执行qmake后没有返回结果,只是在mysql目录下生成debugreleasemakefile文件Makefile.DebugMakefile.Release。

       全部执行完后,将release下的libqsqlmysql4.a,qsqlmysql4.dll和debug下的libqsqlmysqld4.a,libqsqlmysqld4.dll 拷贝至

    QtSDK\Desktop\Qt\4.7.4\mingw\plugins\sqldrivers  

目录下

   七.将mysql的库文件libmysql.dll拷贝到QtSDK\Desktop\Qt\4.7.4\mingw\bin 目录下


接下来运行一个例子看驱动是否装好:

新建一个qt gui 控制台项目SQLtest

在SQLtest.pro中加入QT  +=sql

接着修改main.cpp如下

 

#include <QtCore/QCoreApplication>
#include <QtSql>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() << "Available drivers:";
       QStringList drivers = QSqlDatabase::drivers();
       foreach(QString driver, drivers)
           qDebug() << "\t "<< driver;
    qDebug() << "End";

    return a.exec();
}

执行程序输出为:
Available drivers:
		"QSQLITE"
		"QMYSQL3"
		"QMYSQL"
End

其中有"QMYSQL"则表示编译mysql的驱动成功了!!     (主要方法参考 “Mysql驱动编译(精简完美)-林胜勇” 附件中)
1
0
分享到:
评论

相关推荐

    window和Linux QT5和QT6的MySQL驱动库

    记得在操作完成后关闭数据库连接。 在Windows和Linux之间,主要的差异在于驱动库的安装和链接方式。总的来说,QT5和QT6都提供了方便的API,使开发者能够在不同平台上无缝地使用MySQL数据库。正确配置驱动库和遵循Qt...

    Qt初级学习数据库连接界面绘制

    在Qt初级学习中,数据库连接和界面绘制是两个重要的知识点,尤其对于开发C++应用程序时。Qt是一个跨平台的应用程序框架,它提供了丰富的库和工具,使得开发者可以方便地创建功能丰富的图形用户界面(GUI)并处理数据...

    qt andriod mysql

    在开发基于Qt 5.12.1的Android应用程序时,如果你希望集成MySQL数据库功能,你需要进行一系列的配置和步骤,因为默认情况下,Qt库并不包含对Android平台的MySQL支持。以下是一个详细的步骤指南,涵盖了从编译MySQL...

    Qt开发之window1.zip

    Qt库提供了大量的类,这些类用于构建图形用户界面(GUI),网络通信,数据库连接,XML处理,多媒体支持等。其中,`QWidget`是所有GUI对象的基础,它是窗口和控件的基类。`QApplication`则是应用程序的主要入口点,...

    Linux-Qt-program.rar_QT编程

    2. **数据库支持**: Qt的QSql模块提供了对多种数据库系统的支持,如MySQL、SQLite等,方便进行数据操作。 3. **网络编程**: Qt的网络模块(QNetworkAccessManager)使开发网络应用变得简单,可以实现HTTP/HTTPS请求...

    Linux下Qt编程入门

    Qt的`QSql`模块提供了与多种数据库(如MySQL、SQLite等)的接口,可以方便地进行数据库操作。 11. **图形视图框架(Graphics View Framework)**: 对于复杂的图形界面,Qt的图形视图框架提供了一种高效的方法来...

    LinuxQT图形用户界面编程

    对于数据库操作,QT支持多种数据库引擎,如SQLite、MySQL、PostgreSQL等。 总之,"Linux QT图形用户界面编程"这个主题涵盖了从基础的GUI设计到复杂的系统集成,包括跨平台开发、事件驱动编程、网络通信和数据库访问...

    QT-5.15.0 Win11版本静态开发库文件

    同时,QT支持多种数据库连接,如SQL Server、MySQL等,还有对XML、JSON的支持,使得数据交换和存储变得方便。 为了充分利用QT-5.15.0,开发者需要掌握C++语言基础,以及QT的特定编程模式和API。通过阅读官方文档、...

    第12章、Qt图形编程基础_linux_

    通过Qt SQL模块,开发者可以方便地连接和操作多种类型的数据库,如MySQL、SQLite等。 9. **国际化与本地化**: Qt支持应用程序的国际化和本地化,允许根据用户的语言环境显示相应的内容。 10. **部署与打包**: ...

    Qt及Linux操作系统窗口设计

    此外,Qt支持多种数据库系统,如SQLite、MySQL、PostgreSQL等,通过`QSql`模块可以方便地进行数据操作。网络通信方面,Qt提供了`QTcpSocket`、`QUdpSocket`等类,用于实现TCP/IP和UDP通信。 最后,Qt还有丰富的第三...

    qt-embedded-2.2.4.tar.gz

    9. **数据库支持**:Qt的SQL模块允许连接到各种数据库,如SQLite、MySQL、PostgreSQL等,进行数据操作。 10. **文件I/O**:Qt提供了丰富的文件和流操作类,如QFile、QTextStream等,便于读写文件。 11. **调试工具...

    Qt-myDesk.zip_Linux/Unix编程_QT_

    5. **Qt Database**:允许连接多种数据库,如MySQL、SQLite等,提供了数据库操作的便捷API。 6. **Qt Multimedia** 和 **Qt Quick**:用于音频、视频播放和2D/3D图形处理,为多媒体应用提供了强大的支持。 7. **Qt...

Global site tag (gtag.js) - Google Analytics