现在的位置: 首页 > 数据库 > 正文

C++连接MySQL(二):环境配置和实例 使用api方式

2019年05月31日 数据库 ⁄ 共 1768字 ⁄ 字号 评论关闭

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

1、为什么使用MySQL C API

效率!C++可以通过多种方式连接上数据库,除了使用MySQL C之外,还可以配置ODBC来访问数据库(http://blog.csdn.net/open520yin/article/details/8148509)。但是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!"<<endl;  
    }  

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

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

7、扩展阅读

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

抱歉!评论已关闭.