热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

qt链接mysql驱动_Qt连接MySQL并编译驱动

Qt连接MySQL并编译驱动是本文呢要介绍的内容,Qt开发环境并可正常使用(假设用的是VS2008QtVisualStudioIntegrationv1.43for.

Qt连接 MySQL并编译驱动是本文呢要介绍的内容,Qt开发环境并可正常使用(假设用的是VS2008+ QtVisualStudioIntegrationv1.43for.VS.2003.2005)一切操作均在windows下进行。

1、安装MySQL

下载MySQL安装程序,安装时选择Custom方式,选择安装目录,目录***不要有空格,不要有中文,选择安装include和lib文件。其它的就没什么了。Sqlyog是一个MySQL的图形界面管理工具,可以安装上,方便数据库操作。

2、将安装好的MySQL目录下的include文件夹里的文件(头文件)复制到编译工具的include文件夹下,再将MySQL目录下的lib\opt里的文件复制到编译工具的lib文件夹下,简而言之就是要让编译器能找到MySQL里相应的文件。(该路径也可在生成工程文件时添加给qmake)比如:

..\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=D:\MySQL\include" "LIBS+=D:\MySQL\lib\opt\libmysql.lib"

3、打开VS2008 命令提示符,将目录切换到Qt\src\plugins\sqldrivers\mysql\,运行qmake

完了在运行nmake。不出错的话MySQL的驱动就编好了。用如下代码进行驱动测试:(这段程序编译完之后不是运行,是调试,不然测试信息出不来)

#include

#include

#include

#include

#include

#include

#include

#include

int main(int argc, char* argv[])

{

QApplication app(argc, argv);

qDebug()<

QStringListdrivers&#61;QSqlDatabase::drivers();

foreach(QString driver, drivers)

qDebug()<

QSqlDatabasedb&#61;QSqlDatabase::addDatabase("QMYSQL");

qDebug()<

}

测试结果如下图&#xff1a;

255034f67cf8f99f90d9207dc7a622e9.png

4、MySQL里创建库&#xff0c;创建库时数据库字符集选择gbk编码&#xff0c;创建数据库名为test,单表&#xff0c;表名为testTable,表内属性为name   varchar ;(方便理解代码)

5、用如下代码测试连接数据库并测试写入、读出数据是否成功&#xff0c;并测试数据是否乱码。

#include

#include

#include

#include

#include

int main(int argc, char **argv)

{

QApplication app(argc, argv);

QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk")); //设置tr()编码。

QSqlQueryModel *model;

QTableView *table&#61;newQTableView;

QSqlDatabasedb&#61;QSqlDatabase::addDatabase("QMYSQL");

db.setHostName("localhost");   //数据库服务器

db.setDatabaseName("test");   //数据库名

db.setUserName("root");      //登录名

db.setPassword("123456");    //密码

if(db.open())

{

QMessageBox::information(0,QObject::tr("信息"),

QObject::tr("数据库连接成功"));

QSqlQuery query;

query.exec(QObject::tr("INSERT INTO bbb VALUES (&#39;柯南&#39;)"));

query.exec("SELECT name FROM testTable");//name为属性名&#xff1b;

//testTable为表名

model&#61;newQSqlQueryModel;

model->setQuery(query);

model->setHeaderData(0, Qt::Horizontal, QObject::tr("姓名"));

table->setModel(model);

table->show();

}

else

{

// 数据库打开失败&#xff0c;显示数据库返回的失败信息

QMessageBox::critical(0,QObject::tr("出错"),db.lastError().text());

}

QApplication::connect(&app, SIGNAL(lastWindowClose()), &app, SLOT(quit()));

return app.exec();

}

运行结果如下图&#xff1a;

195e0d37c31289d31490c4589ff606c6.png

小结&#xff1a;关于Qt连接 MySQL并编译驱动的内容介绍的完了&#xff0c;希望本文呢对你有所帮助&#xff01;更多内容请参考编辑推荐。

【编辑推荐】

【责任编辑&#xff1a;李程站 TEL&#xff1a;(010)68476606】

点赞 0



推荐阅读
author-avatar
jimmy2702933123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有