Qt Mysql驱动编译过程
1.首先当然是要有VS2008+Qt4.7的开发环境。
2.安装MySQL,最好是4以后的版本,安装MySQL时要勾住“C Include Files 和 Lib Files”选项,这样才能装上MySQL的头文件和链接库。(或者选择FULL安装)
3.由于MySQL先天的路径问题(就是它的路径里面有空格),我们需要把它的include和lib目录复制出来,放在一个没有空格的目录下。
在C盘建立Mysql5.5文件夹,把include和lib放进去。
4. 打开Qt Command Prompt 窗口,输入命令:
cd C:\Qt\4.7.4\src\plugins\sqldrivers\mysql\
5. 输入命令:
qmake -o "INCLUDEPATH+=C:\Mysql5.5\include" "LIBS+=C:\Mysql5.5\libmysql.lib" mysql.pro
这里面的路径就是第3步里面创建的目录
6.输入命令: nmake release debug
到这里,其实MySQL的驱动已经编译完了,但是可能编译出来的动态链接库没有自动拷贝到C:\Qt\4.7.4\plugins\sqldrivers 中去。没关系,我们手动拷贝如下:
【拷贝1】将编译生成的mysql驱动
C:\Qt\4.7.4\src\plugins\sqldrivers\mysql\release和
C:\Qt\4.7.4\src\plugins\sqldrivers\mysql\release\debug 里面把qsqlmysql4.dll、qsqlmysql4.lib、qsqlmysqld4.dll、qsqlmysqld4.lib拷到 c:\Qt\4.7.4\plugins\sqldrivers 里面就行了。
【拷贝2】将libmysql.dll拷贝到C:\Qt\4.7.4\bin。
下面可以进行Qt数据库的测试例子了:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
qt_mysql w;
QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk")); //设置tr()编码。
QSqlQueryModel *model;
QTableView *table=new QTableView;
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("10.3.2.84"); //数据库服务器
db.setDatabaseName("petct"); //数据库名
db.setUserName("admin"); //登录名
db.setPassword("admin"); //密码
if(db.open())
{
QSqlQuery query;
query.exec("update patient_basic_info set sex ='m 'where patient_id = 3");
query.exec("DELETE FROM patient_basic_info where patient_id = 3");
query.exec("SELECT patient_id , patient_name,ID_card_no,sex FROM patient_basic_info");//name为属性名;
query.next();
QString name = query.value(1).toString(); w.ui.patient_name_text->setText(name);
model=new QSqlQueryModel;
model->setQuery(query);
table->setModel(model);
}
else
{
// 数据库打开失败,显示数据库返回的失败信息
QMessageBox::critical(0,QObject::tr("数据库打开失败"),db.lastError().text());
}
w.show();
QApplication::connect(&app, SIGNAL(lastWindowClose()), &app, SLOT(quit()));
return app.exec();
}
附件使用,
1、将libmysql.dll拷贝到C:\Qt\4.7.4\bin 这样Qt驱动可以调用mysql,打开数据库
2、将qsqlmysql4.dll、qsqlmysql4.lib、qsqlmysqld4.dll、qsqlmysqld4.lib拷贝到C:\Qt\4.7.4\plugins\sqldrivers 这就是Qt mysql的驱动
Qt Mysql驱动编译过程的更多相关文章
- Windows下QT MySQL驱动编译
在Windows环境中使用Qt进行关于MySQL数据库的操作时,会出现如下问题: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: availa ...
- linux编译Qt+mysql驱动+可执行文件移植目标机
前言: 如果希望自己的Qt/C++程序在目标机上运行,最简单的方法就是在目标机上安装一个Qtcreater[Qtxxx.run],然后编译release的可执行文件,直接拉起即可. 但是有些环境情况比 ...
- qt mysql驱动问题解绝
传统解决方法:一.解决问题 本文解决在Ubuntu16.04系统下,Qt5无法连接MySQL数据库的问题(Qt5缺少MySQL驱动,Qt5缺少libqsqlmysql.so动态库,如何安装libqsq ...
- Qt5.4 MSVC mysql驱动编译;
http://www.mysql.com/ 下载mysql http://download.qt.io/archive/qt/ Qt 下载 1. mysql安装源码 注意勾选这一步,将mysq ...
- centos7下编译qt的mysql驱动
在编译mysql驱动之前,首先要安装mysql,可以使用yum安装,这里将不再介绍. 在将qt和mysql都安装好之后,首先找到mysql的头文件以及他的共享库,我的mysql是使用yum安装的,头文 ...
- QT编译mysql驱动
一. 下载mysql C链接库 地址:http://dev.mysql.com/downloads/ 根据当前系统选择下载: 二. 安装下载好的mysql驱动文件 注意,一定要安装在不含有中文.空格以 ...
- Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)
一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...
- windows下编译qt的mysql驱动
windows下编译qt的mysql驱动cd %QTDIR%\src\plugins\sqldrivers\mysqlqmake –o Makefile INCLUDEPATH+="C:\M ...
- QT使用MySql的配置(使用addLibraryPath载入插件),编译QT的MySql驱动问题及解决方案(自己使用libmysql.lib进行编译mysql.pro,万不得已可以查看Makefile.Debug以解决问题)
2010/04/23:Fixes : 更新批处理,以兼容WIN7. 第一次系统地玩QT,于是诞生了此预备式: [QT版本4.6.0(VS2008编译版),开发平台推荐使用Qt Creator(最新1. ...
随机推荐
- python-TCP传输模型
#!/usr/bin/python #coding=utf-8 #服务器端 from socket import * from time import ctime HOST="192.168 ...
- 我爱Markdown (3)
继续Markdown的常见语法, 本文将介绍: 07 - Links 链接 08 - Images 图片 09 - Blockquotes 块引用 10 - Backslash Escapes 显示保 ...
- [中英对照]The sysfs Filesystem | sysfs文件系统
The sysfs Filesystem | sysfs文件系统 Abstract | 摘要 sysfs is a feature of the Linux 2.6 kernel that allow ...
- 13 Timer和TimerTask 示例
定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行.在Java中,可以通过Timer和TimerTask类来实现定义调度的功能 1 Timerjava.lang.Objec ...
- linux安装教程以及使用时遇到的问题和解决方法
以后开发都是要用linux,所以就安装了ubuntu,也是第一次用linux的系统.装的是win7+Ubuntu16.04的双系统. 安装过程如下:我用的是U盘安装,参看http://www.jian ...
- 周记6——css实现类似朋友圈九宫格缩略图完美展示
公司有在做一个类似qq空间的开发,发表说说避免不了的要有图片展示. 产品提出的空间缩略图的展示类似*信朋友圈那种效果--图片不变形.能看到中间部分. 这里给出3种解决方案(jsbin地址失效时可复制代 ...
- 帧布局--FrameLayout
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android=" ...
- easyform表单校验插件改版源码
改动特性: 1.支持回调,可用于ajax提交 2.提示框样式修改,原版太丑,修改成bootstrap的popover 样式 原版还存在缺陷:被校验的表单元素设置不灵活,还得加上id.name 什么的 ...
- 9.Symbol
Symbol Symbol 概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有 ...
- 【深入JavaScript】一种JS的继承方法
这些天读了John Resig的<Secrets of JavaScript Ninja>,其中讨论到JS中实现继承的方案,非常有趣,自己探索了一下,形成了笔记,放到这里. 这个方案在Re ...