C++连接MySQL(一):环境配置和实例

摘要:MySQL API中提供了对C语言的支持,C++是兼容C语言的,那么只要稍加完善就可以让C++写出来的程序直接连接MySQL,并且编程和执行的效率都比较高。


1、为什么使用MySQL C API

效率!C++可以通过多种方式连接上数据库,除了使用MySQL C之外,还可以配置ODBC来访问数据库(http://www.cnblogs.com/feisky/archive/2009/12/19/1627914.html)或者使用ADO来控制(http://www.vckbase.com/document/viewdoc/?id=37)。但是MySQL C的方式最直接,并且我认为从程序运行效率还是编程的效率来看都是很有优势的。C++的特点就是高效,所以推荐使用MySQL C  API。


2、我使用的环境

系统:Windows XP Professional SP3

IDE:Visual Studio 6.0 / Visual Studio 2010 Express

MySQL:MySQL Database Version 5.0.51b


3、开始前的准备

1、找到库文件和头文件的目录:

/mysql安装目录/Include
/mysql安装目录/lib/opt

2、从lib文件夹中拷贝出libmysql.dll到桌面上备用

3、如果你使用的是AppServ或者其他各种缩减版MySQL,可能会没有库文件和dll文件,这里提供下载(或者去网上下载好):http://dl.dbank.com/c019eqfx5j

(下图是下载后解压出来的文件和文件夹,放在任意位置都可以)



4、Visual C++ 6.0下的环境配置

打开Visual C++ 6.0,在菜单栏中选择“工具” - “选项”,移到“目录”选项卡...

在Library Files中添加MySQL的库文件目录:


在Include Files中添加MySQL的头文件目录:


5、Visual C++ 2010 Express 下的环境配置

vs2010不再是统一设置目录,而是在每次创建一个项目之后,为项目专门分配目录。

如下图,在已建好的项目上点击右键,选择“属性”

在属性对话框中,找到VC++目录一项,并设置包含目录(include)和库目录(lib)


6、编写示例程序

基本上,环境算是配置好了。再到MySQL看看有没有什么问题,没有的话新建一个数据库名为“test”,备用。

现在把下面的示例代码编译,然后把前面提到的libmysql.dll和代码放在同一文件夹里,连接、执行后如果显示“atabase connection OK!”说明连接成功。

示例程序代码如下:

#include "winsock.h"
#include "iostream.h"
#include "mysql.h"
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "libmysql.lib")
using namespace std;

void main()
{
	MYSQL mydata;

	mysql_library_init(0,NULL,NULL);//初始化MySQL C API库
	mysql_init(&mydata);//初始化mydata的数据结构,mydata是MYSQL对象
	mysql_options(&mydata,MYSQL_SET_CHARSET_NAME,"gbk");//连接选项:添加GBK字符集支持

	//连接函数
	if(mysql_real_connect(&mydata,"localhost","root","123456","test",3306,0,0) != NULL)
		cout<<"database connection OK!"<

首先建立一个MYSQL的对象,这里命名为mydata,之后的操作都已这个对象为主。

然后是初始化C API库、初始化数据结构、添加汉字字符集支持,即可使用mysql_real_connect函数正式连上数据库。代码中的"localhost","root","123456","test"分别是数据库服务器、用户名、密码、所选数据库。这样简单的连接操作还是不够的,我会继续说明怎样来进行更多的开发使C++能够简单快速地调用MySQL的数据。

7、扩展阅读

C++连接MySQL(二):自制一个通用的MySQL类 http://blog.csdn.net/zh405123507/article/details/6797193

MySQL参考手册 - API和库 http://dev.mysql.com/doc/refman/5.1/zh/apis.html#c

C++连接MySQL数据库 http://blog.csdn.net/jetcui1/article/details/1583475



2011年9月22日修订:增加VS2010环境配置说明

Tags: MySQL C++ API database

你可能感兴趣的:(数据库,mysql,c++,数据库,api,数据结构,database)