C++利用MySql API方式连接数据库

标签: C 数据库 数据库连接
17人阅读 评论(0) 收藏 举报
分类:

       做开发和数据库打交道肯定是必不可少的,因此各个语言都有其自己连接数据库的方式,JAVA,C++,C#等可以通过各种方式来连接数据库。C++也不例外,通常的方法有两种,一种是系统自带的ADO方法,一种是通过Mysql的接口进行连接。下面我们就来简单地利用Mysql的接口通过C++进行访问。

        1.下载Mysql数据库

                相信大家对这一步骤应该都不会陌生,这里提供Mysql的官网,大家可以去浏览一下Mysql的一些信息,更新版本等记本操作https://www.mysql.com/downloads/ 

        2. 附加包含目录

                选择你的项目-右键-属性-》C++-》常规 -》附加包含目录。在这里添加你所下载mysql的include文件夹。


                说明:我们都知道引用第三方库的时候需要用到头文件,一般头文件会在Include的文件夹下,因此在你项目最前面#include"XXX.h" 的时候就可以在该目录下寻找你要引用的头文件了。

        3.添加库目录

                

        说明:这里包含的是lib库的目录,针对静态库和动态库的问题大家可以自行去搜索一下相关知识点,一般下载下来的第三方库的静态文件放在lib目录下,大家应该找到自己对应的lib文件夹。

        4.添加动态库

        

                说明:这里需要添加mysql的库文件,因为上一步我们已经添加了库所在的目录,因此在这里可以直接添加现有的库即可。

以上是一个搭建连接MySql数据库的环境,我认为可以这么理解,一个目录对应一个内容。你需要用到Mysql的头文件,你就需要"附加包含目录"中找到对应的include文件夹。你要用到Mysql编写好的库,你就需要添加好对应的库目录,如第三步,同时再把该库给添加进去,这样就可以包含Mysql的头文件并且引用Mysql的API了。

        5.添加数据


                这里我们在Navicat中添加两条数据,我们可以看到该表名叫studentagain,里面有两条数据。

        6.查询数据

#include "iostream"
#include <winsock.h> //不包含这个Socket会报错,因为mysql.h里面有一些Socket的内容
#include <mysql.h>//控制台项目中要在mysql.h之前include <winsock.h>

using namespace std;
int main()
{
MYSQL *pConn;                    //定义一个结构体指针
pConn = mysql_init(NULL);        //回调函数,用来初始化Mysql数据库
//第2、3、4、5参数的意思分别是:服务器地址、用户名、密码、数据库名,第6个为mysql端口号(0为默认值3306)
if (!mysql_real_connect(pConn, "localhost", "root", "123456", "mysql", 0, NULL, 0))
{
printf("无法连接数据库:%s", mysql_error(pConn));
return false;
}else
{
cout << "连接数据库成功" << endl;

}
mysql_query(pConn, "set names gbk");//设置一下编码问题

if (mysql_query(pConn, "select * from studentagain"))  //系统API,用来查询数据
{
printf("查询失败:%s", mysql_error(pConn));
return false;
}
else {
cout << "查询成功" << endl;
}

MYSQL_RES *result = mysql_store_result(pConn);            //这里是将查询到的结果集存下来,放到result中去
MYSQL_ROW row;                            //return data as array of strings 返回一个类似数据集合的变量
while (row = mysql_fetch_row(result))                // 从当前结果集result中获取数据,并且滑向下一行,取到最后一行返回false
{
printf("%s %s %s %s %s\n", row[0], row[1], row[2], row[3], row[4]);    //依次输出当前数据的内容
}
system("pause");
mysql_free_result(result);                                                                    //释放结果集
mysql_close(pConn);                                                                            //关闭当前指针对象
return 0;

}


注意:有两点需要注意:你需要把你的编译平台改成64位的,因为我们电脑是64位的,因此如果不进行更改则不能正确地执行libmysql.lib这个库。  2.需要把lib文件夹下面地libmysql.dll动态库拷贝到你生成.exe的文件夹下,这样才能找到你需要的动态库。


查看评论

C++利用MySQL API连接和操作数据库实例详解

1.C++连接和操作MySQL的方式 系列文章: MySQL 设计和命令行模式下建立详解 C++利用MySQL API连接和操作数据库实例详解 在Windows平台,我们可以使用ADO、ODB...
  • u012260238
  • u012260238
  • 2017-04-21 19:22:08
  • 725

好用的C++API直连MySql方法

今天在网上本来想为我的毕业设计找个连接数据库的方法,看到什么C++用ADO连MySQL,MySql和连接驱动是装了,但是在ODBC配置连接源的时候,没有连接驱动。算了,换个方法吧!翻着翻着发现通过AP...
  • zl908760230
  • zl908760230
  • 2017-04-29 20:12:10
  • 1310

C++连接mysql数据库的两种方法(ADO连接和mysql api连接)

【原文 http://www.jb51.net/article/44262.htm 】 现在正做一个接口,通过不同的连接字符串操作不同的数据库。要用到mysql数据库,C++连接mysql有2种方法...
  • baodi_z
  • baodi_z
  • 2015-04-09 15:02:28
  • 13382

VS2012 使用MySql的API函数连接数据库(成功), 以及使用mysql-connector-c++-1.1.3遇到的问题!

前言: 由于最近感觉VC6,很老了,想尝试一下新的IDE,于是就在网上下载了VS2008以及VS2012,考虑到以后大学毕业后,用VS2012的可能性更大,所以选择了VS2012。但是,就在使用VS2...
  • biezhihua
  • biezhihua
  • 2013-07-26 21:44:33
  • 4290

Windows下C++连接mysql数据库的方法

步骤: 1. 安装MySQL数据库 2. 项目属性页->C/C++->常规->附加包含目录:xxx\MySQL Server 5.6\include 3. 项目属性页->链接器->常规->附加库...
  • heluan123132
  • heluan123132
  • 2016-09-03 20:19:55
  • 2809

Java连接数据库的几种方式

Java连接数据的几种方式 程序预览图: 第一种:最普通的方式,利用java原生jdbc连接数据库 package utils;   import java.sql.Connection; im...
  • qq_25337221
  • qq_25337221
  • 2017-10-24 17:20:18
  • 1644

vc6.0下c++连接mysql数据库

一   vc6.0连接mysql数据库 (1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列...
  • lyf08600231
  • lyf08600231
  • 2013-03-11 21:14:39
  • 1873

初级Web API+MySql获取数据

Web API是网络应用程序接口。 它其实还是一个强大的平台,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务,可以用来生成一些API,暴露服务和数据。ASP.NET We...
  • flyer5
  • flyer5
  • 2014-08-21 17:11:48
  • 3980

vs2013下c++连接mysql数据库

 本文使用的是mysql提供的api来进行连接,这样使用比较方便。 开发环境:mysql 5.6+vs2013+win8.1操作系统 步骤1: 要使用mysql的api,需要mysql安装...
  • u012074791
  • u012074791
  • 2015-06-26 17:21:32
  • 2479

vc++连接MySQL数据库、mysql api函数

通过VC开发MySQL数据库应用软件有多种方式:    一、通过MyODBC界面    二、通过Connector/C++l界面    三、通过MySQL  C  API界面    四、第三方封装的M...
  • sqcfj
  • sqcfj
  • 2011-03-08 14:34:00
  • 10760
    个人资料
    等级:
    访问量: 0
    积分: 80
    排名: 0
    文章分类
    文章存档