QT无法连接MYSQL

QT无法连接MYSQL,第1张

QSqlDatabase data_base =

QSqlDatabase::addDatabase("QMYSQL")

data_base.setHostName("localhost")

//设置主机地址

data_base.setPort(3306) //设置端口

将MySQL安装目录下的libmysql.dll拷贝到Qt安装目录下的bin目录中即可。

首先:进入到自己相应的qt/src/plugins/sqldrivers/mysql 目录下 (我的目录为:S:\QT\4.8.0\src\plugins\sqldrivers\mysql),这个下面有两个文件mysql.pro,一个mian.cpp! 用文本编辑器打开该目录下的mysql.pro文件 在mysql.pro中加入:

INCLUDEPATH+="C:\Program Files\MySQL\MySQL Server 5.5\include" LIBS+="C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"

保存并退出(即你的mysql的include 路径和 lib 下 opt 的 libmysql.lib 路径)

打开Qt 4.8.0 Command Prompt, 编译这个文件

#qmake -o Makefile mysql.pro

提示3条警告信息,但没影响

#mingw32-make (这个网上有好几个编译命令,我的是用nmake)

然后你会发现你的 qt 下这个 qt/plugins/sqldrivers路径(我的路径为S:\QT\4.8.0\plugins\sqldrivers下)下多了四个文件

分别为 libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll (生成文件不一定是上面四个)这样基本上就编译成功,可以使用 mysql 了!~

最后安全起见再将 mysql下 bin 文件中libmysql.dll文件拷贝到 system32 下面 然后测试:

#include<QtGui>#include<QtSql>#include<cstdlib>

#include<QtGui/QApplication>#include<QtSql/QtSql>boolcreateConnection() {

qDebug()<<"Availabledrivers:"

QStringListdrivers=QSqlDatabase::drivers()foreach(QStringdriver,drivers) qDebug()<<"\t"<<driver

QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL")qDebug()<<"MYSQLdrivervalid?"<<db.isValid()}

intmain(intargc,char*argv[]) {

至于mysql.pro我是在网上下载的

1,在.pro文件中修改 QT += sql ,大致如下

TEMPLATE = app

TARGET =

DEPENDPATH += .

INCLUDEPATH += .

QT +=sql

2,在程序中添加数据库

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL")

qDebug()<<QString("add database")

//db.setHostName("192.168.1.126")//远程访问

db.setHostName("localhost")

db.setDatabaseName("test")

//db.setDataBaseName("")

db.setUserName("root")

db.setPassword("000000")

if (!db.open())

return db.lastError()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10707991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存