在介绍QT与数据的链接问题上,我在这里就不介绍关于QT环境与mysql、sqlite3环境的安装步骤了,以下的所有的操作都是建立在你已经安装了所有环境的基础上的。好的,那我们就具体来看一看QT环境中怎么与数据进行链接

一、QT链接sqlite3:

  QT链接sqlite3比较简单,比如你在你的计算机上已经创建了一个叫users的数据库,这时你需要在QT创建一个项目,在进行数据库的链接之前需要在工程文件(也就是你的.pro文件)中添加

QT   +=    sql

他表示在QT中增加对数据的支持,接下来在项目中增加如下代码:

     db = QSqlDatabase::addDatabase ("QSQLITE");
db.setDatabaseName ("users");
if(!db.open ()){
qDebug() << db.lastError ().text ();
}else{
qDebug() << "open database sucessful";
}

当然这边的db是声明在头文件的一个QSqlDatabase的一个类型,这样如果你按上边的写法去做的话,你会发现,你打开数据是100%成功,因为,在打开数据的时候,如果没有他会在你的项目的构建文件中默认创建一个为空的users的数据库文件,如下图:

所以你必须要将操作的数据库文件放到该目录下就可以了。。。

二、QT链接mysql数据库

  因为mysql数据库的操作是无法将数据库文件放到构建目录下的,所以他和sqlite3链接QT有些许的不同,QT链接mysql的的代码为:

     db = QSqlDatabase::addDatabase ("QMYSQL");  //mysql的数据库驱动
db.setUserName ("root"); //设置操作数据库用户名
db.setPassword (""); //用户密码
db.setHostName ("127.0.0.1"); //设置主机名,我们这边测试使用本机地址
db.setDatabaseName ("wyf"); //设置操作的数据库名字
db.setPort (); //设置端口号(一般默认为3306,我进行了手动的更改)
if(!db.open()){
qDebug() << db.lastError ().text ();
}else{
qDebug() << "open database sucessful";
}

  你会发现链接不上mysql数据库,会有如下的提示:

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

  这时你需要把mysql的安装路径,找到mysql的驱动程序libmysql.dll

将他拷贝到你的项目中的可执行文件的目录下:

接下来,再次运行程序,发现已经可以链接上了。。。

QT链接数据库的更多相关文章

  1. 界面编程之QT的数据库操作20180801

    /*******************************************************************************************/ 一.数据库连 ...

  2. PHP学习-链接数据库

    链接数据库文件:conn.php <?php $conn = mysql_connect("localhost:3306","root","us ...

  3. PHP 链接数据库1(连接数据库&简单的登录注册)

    对 解析变量的理解 数据库的名称和表的名称不能重复 从结果中取出的数据   都是以数组的形式取出的 1.PHP查询数据库中的某条信息 //PHP链接数据库 /*1.造链接对象 IP地址 用户名 密码 ...

  4. JDBC的使用(一):引用外部jar;代码链接数据库

    一:引用外部jar 1.首先不jar文件放到项目下: 2.在Eclipse中,右键相应的项目--构建路径--配置构建路径--库--添加外部jar:选中-打开-应用-确定. 二:代码链接数据库 1.加载 ...

  5. Connect to Database Using Custom params链接数据库配置参数说明

    使用RF的关键字Connect to Database Using Custom params链接数据库,对应的参数说明: a)     第一个参数我使用的是cx_Oracle,就写这个 b)     ...

  6. php链接数据库

      1:找到 ySQL服务器 $conn = mysql_connect("localhost","","") or die("链 ...

  7. 安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误

    安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误 这个错误几个月以前解决过一次,但是到又碰到的时候,竟然完全忘记当时怎么解决的了, 看来上了年纪记忆真是越来越不行了... 解决方案很简单 ...

  8. QT 操作数据库

    整理一下 QT 操作数据库的一些要点,以备以后的查询学习(主要是操作 mysql ). 首先,要查询相关的驱动是否已经装好了,可以用以下的程序进行验证: #include <QtCore/QCo ...

  9. jsp链接数据库

    数据库表代码: /*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server Version : 50528Sou ...

随机推荐

  1. apicloud上传图片

    //定义api $("#photo").change(function(){ //获取图片 api.getPicture({ sourceType: 'library', enco ...

  2. ER图是啥?

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现 ...

  3. 大数据系列之Hadoop分布式集群部署

    本节目的:搭建Hadoop分布式集群环境 环境准备 LZ用OS X系统 ,安装两台Linux虚拟机,Linux系统用的是CentOS6.5:Master Ip:10.211.55.3 ,Slave ...

  4. 容斥原理及SQL in关键字在EF中的应用

    突然意识到文字的重要性,于是开始写了第一个篇博客,博客目的紧紧为记录,以便温故. 同时也希望抛砖能达到引玉的作用,欢迎各位来发表自己的感想与想法,以此达到相互学习促进! 背景: 在做百度地图电子围栏的 ...

  5. php+apache+mysql的安装

    1.LAMP的安装顺序问题,现在是默认安装好了Linux系统,我的版本是Ubuntu 12.04.一般来说比较建议的顺序是Mysql Apache 最后安装PHP,在我实践下来 Apache和Mysq ...

  6. 张高兴的 UWP 开发笔记:定制 ContentDialog 样式

    我需要一个背景透明的 ContentDialog,像下图一样.如何定制?写了一个简单的示例(https://github.com/ZhangGaoxing/uwp-demo/tree/master/C ...

  7. iOS开发之数据存储之XML属性列表(plist)归档

    1.概述 “归档”意思是持久化存储数据.plist文件是一种XML格式的文件,拓展名为plist.如果对象是NSString.NSDictionary.NSArray.NSData.NSNumber等 ...

  8. (转)Nginx启动出错 error while loading shared libraries

    [root@localhost conf]# /usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx: error while loading s ...

  9. Javascript动态创建 style 节点

    有很多提供动态创建 style 节点的方法,但是大多数都仅限于外部的 css 文件.如何能使用程序生成的字符串动态创建 style 节点,我搞了2个小时. 静态外部 css 文件语法: @import ...

  10. 将 shell 脚本打包到 rpm 包中

    下以操作最好在虚拟机上操作:如 Docker 最方便了 1. 安装 rpmbuild yum -y install rpmbuild  rpmdevtools -y 2. 生成打包路径 使用 rpmd ...