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),
  1. 加入libmysql.a该库
  2. 加入 -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++的连接问题的更多相关文章

  1. 解决 LINUX mysql不能通过IP连接 只能localhost 权限没问题情况下

    最近朋友的一个服务器出现了一个奇怪的问题,弄了两个星期没有解决,在哥坚持不懈的努力下,终于解决了问题.发出来给需要的朋友. 问题:php程序连接mysql只能使用localhost,不能使用127.0 ...

  2. 安装好mysql后允许远程连接

    安装好mysql后允许远程连接 http://blog.sina.com.cn/s/blog_3eba8f1c0100tsox.html http://blog.csdn.net/zxyvb/arti ...

  3. 如何登录mysql? cmd怎么连接mysql数据库

    Mysql开源数据库,任何人都可以下载安装使用.那么安装好的mysql如何登陆连接mysql数据库呢? 连接mysql数据库的几种方法 一 Mysql命令行连接 一般对于刚刚安装好的mysql,如果勾 ...

  4. 远程连接mysql,mysql如何开启远程连接

    很多时候,mysql只需要开本地连接,也就是本机(服务器本身)连接就可以,默认也是这样,默认也不支持远程连接 但有的时候,我们需要将mysql独立出一台主机或数据库,放到另一台机器的时候,这时,就需要 ...

  5. MySQL优化二(连接优化和缓存优化)

    body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...

  6. mysql自动断开该连接解决方案

    mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案 作者: MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断 ...

  7. 连接mysql用mysql_connect不能连接

    用mysqli_connect就可以解决. mysqli_array()有连个参数,第一个是连接mysql名. php遇到这个警告Warning: Use of undefined constant ...

  8. mysql数据库可以远程连接或者说用IP地址可以访问

    mysql数据库可以远程连接或者说用IP地址可以访问 一般情况不建议直接修改root的权限, 先看下,自己mysql数据库的用户级权限 mysql -u root -p----->用root登陆 ...

  9. JDBC - Mysql 8.0.13 连接测试

    因为换新的电脑设备,为其安装一些开发需要的应用及环境,下载了新版的Mysql8.0.13,在Eclipse中测试连接时遇到一些新的问题,遂记录. 1. Mysql 5.*  版本JDBC连接 a. 常 ...

随机推荐

  1. ZT 链表逆序

    链表逆序 原帖地址http://blog.csdn.net/niuer09/article/details/5961004 分类: C/C++2010-10-23 17:23 18425人阅读 评论( ...

  2. ASP.NET Web Api vs Node.js Benchmark

    http://mikaelkoskinen.net/post/asp-net-web-api-vs-node-js-benchmark ASP.NET Web Api vs Node.js Bench ...

  3. PHP字符串——简单应用

    错误的学习编码语言观点:语言语法不用记,多练习就可以了.   应该是死记住,然后加强练习以免忘记.以及在练习中加强理解.试着想“为什么是这样的语法习惯”.PHP提供了8种数据类型.4种是标量型(单值) ...

  4. Cent OS home下中文目录改成英文目录

    如果安装了中文版的Cent OS之后,root目录和home目录下会出现中文的路径名,如“桌面”.“文档”.“图片”.“公共的”.“下载”.“音乐”.“视频”等目录,这样在命令行上操作十分的不方便,需 ...

  5. 分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:

    (1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化. (2)Point2D有一个void型成员方法offs ...

  6. Intellij IDEA的激活(2100年你值得拥有)

    下载ide官网地址:https://download.jetbrains.com/idea/ideaIU-2018.2.7.exe 安装下一步下一步:进入安装bin目录 首先下载需要破解的jar包链接 ...

  7. 使用jquery操作元素的css样式(获取、修改等等)

    //1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#two").attr(&qu ...

  8. 【C++0x】表达式之类型(decltype)

      C++0x引入了新的关键字decltype,它是一个操作符,用来取得表达式的类型,主要在泛型编程中使用.这里,简单介绍一下语法规则. 语法形式:decltype (expression)其中,这里 ...

  9. 【LeetCode415】Add Strings

    题目描述: 解决思路: 此题较简单,和前面[LeetCode67]方法一样. Java代码: public class LeetCode415 { public static void main(St ...

  10. 与数论的爱恨情仇--01:判断大素数的Miller-Rabin

    在我们需要判断一个数是否是素数的时候,最容易想到的就是那个熟悉的O(√n)的算法.那个算法非常的简单易懂,但如果我们仔细想想,当n这个数字很大的时候,这个算法其实是不够用的,时间复杂度会相对比较高. ...