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()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)