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. C++暑期学习笔记

    # C++初步学习笔记 一.命名空间(namespace)相关 1 个人理解: 为了避免整合资源中存在的重名矛盾而采取的区别资源的措施: 2 命名空间的定义: 比如要定义一个命名空间A: namesp ...

  2. 字典树(前缀树)-Java实现

    字典树 字典树是一种树形结构,优点是利用字符串的公共前缀来节约存储空间.在这提供一个自己写的Java实现,非常简洁. 根节点没有字符路径.除根节点外,每一个节点都被一个字符路径找到. 从根节点到某一节 ...

  3. Hibernate学习笔记一之注解

    1.@Entiy  实体类注解 2.@Table  映射表 (name=“”)表名 3.@Coulmn @Column( name="columnName";            ...

  4. 取消centOS7虚拟机锁屏

    https://blog.csdn.net/ViJayThresh/article/details/81076622

  5. Java8系列之重新认识HashMap(转)

    原文出处: 前利 简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap.Hashtable.LinkedHashMap和Tree ...

  6. SVN服务器安装与本地连接

    SVN服务器安装与本地连接 系统环境 Centos7 查看是否安装了低版本SVN [root@svn-server ~]# rpm -qa subversion 卸载旧版本SVN [root@svn- ...

  7. java final使用

    一:final 1:有时候 我们需要一些类,不要被继承.即阻止定义子类.不允许扩展的类叫做final类,如果一个类在定义的时候,用final定义的时候,表示这个类是final类.无法定义子类. 语法 ...

  8. selenium 无界面跑UI脚本

    from selenium.webdriver.chrome.options import Options from selenium import webdriver import time chr ...

  9. Freemarker 基础概念

    一.概述 FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写,FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用 ...

  10. grep 搜索多个同时满足的条件

    (二) Grep AND 操作 1. 使用 -E 'pattern1.*pattern2' grep命令本身不提供AND功能.但是,使用 -E 选项可以实现AND操作.   grep -E 'patt ...