Qt5.7中使用MySQL Driver

1、使用环境

Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可。
如果没有安装,可以采取自己编译的方式。
在Qt的源码包的qtbase\src\sql\drivers\mysql路径下,就是相关的源码文件。
这里就不说编译方式了。只是要记得在编译的时候,需要libmysql的支持。

2、基本使用

    QSqlError err;
// 数据库对象创建
QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL","连接名");
// 设置相关参数
db.setDatabaseName("数据库名"); // 需要与数据库中的一致
db.setHostName("127.0.0.1"); // 主机名(地址)
db.setPort(3366); // 端口 // 打开数据库
if (!db.open("用户名", "密码")) {
err = db.lastError();
db = QSqlDatabase();
QSqlDatabase::removeDatabase("连接名");
}
// Query对象创建
QSqlQuery q("", db);
// 创建一个表
q.exec("create table Names (id integer primary key, Firstname varchar, Lastname varchar, City varchar)");
// 插入三条数据
q.exec("insert into Names values (1, 'Christopher', 'Walker', 'Morristown')");
q.exec("insert into Names values (2, 'Donald', 'Duck', 'Andeby')");
q.exec("insert into Names values (3, 'Buck', 'Rogers', 'Paris')");

3、一个小问题

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

这里需要把libmysql.dll文件拷贝到Qtbin目录中。或者自己编译的时候,链接静态库。

http://www.cnblogs.com/oloroso/p/5766068.html

Qt5.7中使用MySQL Driver(需要把libmysql.dll文件拷贝到Qt的bin目录中。或者自己编译的时候,链接静态库)的更多相关文章

  1. 将通过find命令找到的文件拷贝到一个新的目录中

    将通过find命令找到的文件拷贝到一个新的目录中 有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到另一个目录中,我通过find命令从源目录查找到符合条件的文件然后使用cp命令拷贝到目标目录 ...

  2. Qt5.7中使用MySQL Driver

    Qt5.7中使用MySQL Driver 1.使用环境 Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可. 如果没有安装,可以采取自己编译的方式. 在Qt的源码包 ...

  3. 【Tip】如何让引用的dll随附的xml注释文档、pdb调试库等文件不出现在项目输出目录中

    项目输出目录(bin/debug|release)中经常是这个样子: main.exemain.pdb a.dll a.xml b.dll b.pdb b.xml ... 其中xml是同名dll的注释 ...

  4. SVN安装后bin中没有svn.exe,TortoiseSVN安装后bin目录中没有svn.exe;

    TortoiseSVN的bin目录中没有svn.exe 为什么没有,是因为安装TortoiseSVN的时候没有勾选指定安装项:找到svn的安装包,不用卸载旧的直接安装: 1.选择Modify 2.注意 ...

  5. 使用kafka bin目录中的zookeeper-shell.sh来查看kafka在zookeeper中的配置

    cd kafka_2.11-0.10.2.1\bin\windowsecho ls /brokers/ids |  zookeeper-shell.bat localhost:2181 使用kafka ...

  6. Visual Studio中的引用项目和直接引用DLL文件

    在VS中引用类库时有多种方法,其中用的最多的就是在引用时选择项目选项卡引用本解决方案下的类库项目和选择浏览选项卡直接引用类库DLL文件,实际上这两种引用方式略有不同,今天就为大家总结下. C#本地项目 ...

  7. 让docker中的mysql启动时自动执行sql文件

    本文提要 本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动MySQL服务接受外部连接,主要是通过Docker ...

  8. tomcat的bin目录中startup.bat/tomcat.6.exe/tomcat6w.exe区别

    一.tomcat6.exe 与 startup.bat的区别 1.两者都可以用于启动Tomcat tomcat6.exe则是必须将tomcat注册Windows服务之后才可以用于启动tomcat服务; ...

  9. VS编译linux项目生成静态库并在另一个项目中静态链接的方法

    VS2017也推出很久了,在单位的时候写linux的服务端程序只能用vim,这让用惯了IDE的我很难受. 加上想自己撸一套linux上的轮子,决定用VS开工远程编写调试linux程序. 在window ...

随机推荐

  1. ES设置字段搜索权重——Query-Time Boosting

    Query-Time Boosting In Prioritizing Clauses, we explained how you could use the boost parameter at s ...

  2. kmp算法模板及理解

    kmp算法是复杂度为O(n+m)的字符串匹配算法; 首先kmp算法的核心是在模式串中获得next数组,这个数组表示模式串的子串的前缀和后缀相同的最长长度; 这样在匹配的过程中如果指到不匹配的位置,模式 ...

  3. Cloudera Manager 5 和 CDH5 本地(离线)安装指南

    http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.0.0/RPMS/x86_64/ http://archive-primary.clouder ...

  4. 1068 Bash游戏 V3

    1068 Bash游戏 V3 题目来源: Ural 1180 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 有一堆石子共有N个.A B两个人轮流拿 ...

  5. Scala学习——array与arraybuffer的区别(初)

    1.由于Array是不可变的,所以不能直接地对其元素进行删除操作,只能通过重赋值或过滤生成新的Array的方式来删除不要的元素. 而ArrayBuffer是可变的,本身提供了很多元素的操作,当然包括删 ...

  6. java面试题汇总(1)

    1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组.我的意思是,如果改变引用指向的数组, 将会受到 v ...

  7. 用python监控您的window服务

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://world77.blog.51cto.com/414605/782935 最近比较 ...

  8. redis和memcache的比较

    1.数据类型支持不同 与Memcached仅支持key-value结构不同,Redis支持的数据类型更丰富,同时支持list.set.hash等数据结构的存储: 2.内存管理不同 在Redis中,并不 ...

  9. c# list排序的实现方式

    实体类实现IComparable接口,而且必须实现CompareTo方法 实体类定义如下: class Info:IComparable { public int Id { get; set; } p ...

  10. c#正则表达式替换

    替换规则: 替换中包含原部分逐句,可以用分组的方式来替换,用?<组名>来标记需要记录的数据,在替换的时候使用 ${组名} 或者 <组名> 来加载这部分数据. 例如: 替换:&l ...