MySQL与DevC++的连接问题
0. 引言
MySQL作为一个主流的开源关系型数据库之一,受到了企业和个人的广泛使用。DevC++作为一个开源的简单的C++编辑器,有着比VS更简便更快捷的编译环境。但是目前网上,却很少有对DevC++和MySQL的连接的细致教程(至少我学的时候查到的教程很散乱),大多数都是MySQL链接VS,或者是针对Java,Python的连接。本文章,弥补这一缺点,以亲生经历,将网上的资源加以整合。如若有些不妥的地方,也请读者见谅,可以在评论区指出。
0.0 环境要求
DevC++ 5.11 - April MySQL 5.7 MySQL.Devpak (文中将会提供免费的下载)
本文最新修改时间2019-05-29
1. 准备工作
在DevC++连接数据时,我们首先需要一些准备操作,以保证后续的操作。
以下的每一步都很重要,请一定确保安装正确。
1.1 DevC++安装MySQL.Devpak
下面提供我的百度网盘共享地址,可以直接下载:(建议此项)
链接:https://pan.baidu.com/s/1Y6q0emGEsaMU5GQZNLf3YQ 密码:4lti
安装完成后,在DevC++的工具栏里可以找到Package Manager,即安装完成。

1.2 MySQL的安装准备
- 目的:获取MySQL下的include和lib,以便C++可以访问MySQL服务
- 方法(两种二选一):
- 直接下载MySQL
- 使用 mysql-connector-c++
1.2.1 方法一:下载MySQL
安装版本因人而异,下面提供官网上的一个下载地址:https://dev.mysql.com/downloads/installer/
安装完成后,找到如下安装路径:
最主要的是/bin、/include、/lib目录,因为下面需要引入,本地有无能使用的MySQL都无所谓。

1.2.2 方法二:下载mysql-connector-c++
MySQL Connecter/C++官网地址:https://dev.mysql.com/downloads/connector/cpp/1.1.html
建议下载zip格式,可以直观看到源文件。
1.3 系统环境添加libmySQL.dll
找到如下目录 C:\Windows\System32
添加 libmySQL.dll 文件,该文件在DevC++的安装目录里可以找到(当然,必须得在完成1.1步骤的情况下)
2. 开始操作
2.1 关联文件
DevCpp顶部工具栏 -> 项目 -> 项目属性 -> 参数

- 在C编译器里输入-Wall
- 在C++编译器里输入-W
- 链接里->加入库或者对象,(找到DevC++安装目录/lib/libmysql.a),
- 加入libmysql.a该库
- 加入 -lmysql
效果图如下:

DevCpp顶部工具栏 -> 项目 -> 项目属性 -> 文件/目录

分别添加:
- 库目录:(安装的MySQL的目录)/lib
- 包含文件目录:(安装的MySQL的目录)/include
2.2 到这里,链接做的也差不多了,然后就是在C++头文件里引入
#include <mysql.h>
就可以了
3. C++中的MySQL连接数据库操作
#define HOST "localhost"
#define USER "root"//(这里写自己的用户名)
#define PASSWORD "***************"//(这里写自己的数据库密码)
#define TABLE "stock"//(这里写自己的库名,我的库是stock)
#define PORT 3306
MYSQL myCont;
mysql_init(&myCont);//初始化句柄
mysql_real_connect(&myCont,HOST,USER,PASSWORD,TABLE,PORT,NULL,);//打开数据库
mysql_set_character_set(&myCont,"GBK");//设置字符格式
mysql_close(&myCont);//关闭数据库
4. 结尾
后续会补充详细用法,当然学过java或则用过jdbc的人应该都不会陌生了
MySQL与DevC++的连接问题的更多相关文章
- 解决 LINUX mysql不能通过IP连接 只能localhost 权限没问题情况下
最近朋友的一个服务器出现了一个奇怪的问题,弄了两个星期没有解决,在哥坚持不懈的努力下,终于解决了问题.发出来给需要的朋友. 问题:php程序连接mysql只能使用localhost,不能使用127.0 ...
- 安装好mysql后允许远程连接
安装好mysql后允许远程连接 http://blog.sina.com.cn/s/blog_3eba8f1c0100tsox.html http://blog.csdn.net/zxyvb/arti ...
- 如何登录mysql? cmd怎么连接mysql数据库
Mysql开源数据库,任何人都可以下载安装使用.那么安装好的mysql如何登陆连接mysql数据库呢? 连接mysql数据库的几种方法 一 Mysql命令行连接 一般对于刚刚安装好的mysql,如果勾 ...
- 远程连接mysql,mysql如何开启远程连接
很多时候,mysql只需要开本地连接,也就是本机(服务器本身)连接就可以,默认也是这样,默认也不支持远程连接 但有的时候,我们需要将mysql独立出一台主机或数据库,放到另一台机器的时候,这时,就需要 ...
- MySQL优化二(连接优化和缓存优化)
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- mysql自动断开该连接解决方案
mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案 作者: MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断 ...
- 连接mysql用mysql_connect不能连接
用mysqli_connect就可以解决. mysqli_array()有连个参数,第一个是连接mysql名. php遇到这个警告Warning: Use of undefined constant ...
- mysql数据库可以远程连接或者说用IP地址可以访问
mysql数据库可以远程连接或者说用IP地址可以访问 一般情况不建议直接修改root的权限, 先看下,自己mysql数据库的用户级权限 mysql -u root -p----->用root登陆 ...
- JDBC - Mysql 8.0.13 连接测试
因为换新的电脑设备,为其安装一些开发需要的应用及环境,下载了新版的Mysql8.0.13,在Eclipse中测试连接时遇到一些新的问题,遂记录. 1. Mysql 5.* 版本JDBC连接 a. 常 ...
随机推荐
- Hadoop HBase概念学习系列之HBase里的Client(二十二)
这个,很简单,但凡是略懂大数据的,就很清楚,不多说,直接上图.
- (1)线程的同步机制 (2)网络编程的常识 (3)基于tcp协议的编程模型
1.线程的同步机制(重点)1.1 基本概念 当多个线程同时访问同一种共享资源时可能会造成数据的覆盖和不一致等问题,此时就需要对线程之间进行协调和通信,该方式就叫线程的同步机制. 如: 2003年左右 ...
- Maven实战(十)利用 Nexus 来构建企业级 Maven 仓库
目录 一.简介 Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行模块 ...
- 囧啊!!时间戳转化为时间出错php
最近写了一个api,测试也没发现啥问题.可是上线之后发现有时api的返回结果不正确.为什么呢? 调我接口的同学给了两个调用示例,理论上两个的结果应该一致,实际结果却不一致. api调用带了一个时间戳参 ...
- 使用MS的ScriptDom来拆解TSQL脚本
此处提供9.1.40413.0版本的DLL一共4个:Microsoft.Data.Schema.dll.Microsoft.Data.Schema.ScriptDom.dll.Microsoft.Da ...
- python导入模块总结与分析
定义1:python中什么是模块? 答:模块就是一个.py文件,每一个以py作为后缀的文件,都是一个模块. 定义2:Python中什么是包? 答:包是一类特殊的模块,他能包含其他模块,为了更好的组织模 ...
- CGI编程学习
@CGI编程学习 目录(?)[+] 一.基本原理 CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口.通过CGI接口,Web服务器就能 ...
- python第十课——循环结构收尾
2.4.time模块的初体验 sleep(sec)函数:程序一旦执行到sleep()函数,会立即休眠sec秒,等到时间到了,自动醒过来,然后继续往下执行... 思路步骤: 第一步:导入time模块 i ...
- Nginx如何配置静态文件直接访问
其实前面在这篇文章Nginx之动静分离中已经提到过如何配置静态文件直接访问,今天突然再写是因为之前写的不够完善,所以这一篇文章你可以理解为是在前一个基础上的扩展. 之所以下午临时想到这个,是因为之前搭 ...
- Python学习笔记系列——高阶函数(filter/sorted)
一.filter #filter()函数用于过滤序列.和map()类似,也接收一个函数和一个序列,把函数依次作用于每个元素,根据返回值是True还是False决定是否保留该元素. #filter()函 ...