C++通过mysql的c api连接mysql服务器

1、在连接之前,不要忘记打开mysql服务器哇(Navicat打开或者不打开都可以)

C++操作mysql__通过mysql的c api连接mysql服务器

2、添加包含目录

C++操作mysql__通过mysql的c api连接mysql服务器

3、添加libmysql.lib到附属依赖中

C++操作mysql__通过mysql的c api连接mysql服务器

上一步中也也可以在程序代码的开始处加上#pragma comment(lib,"D:\\Program Files\\MySQL\\MySQL Server 5.6\\lib\\libmysql.lib") 来导入libmysql.lib)

4、如果使用的mysql是64位的,还需要将项目的解决方案平台由win32改成x64

 C++操作mysql__通过mysql的c api连接mysql服务器

5、将D:\Program Files\MySQL\MySQL Server 5.6\lib(根据具体路径而定)下的libmysql.dll复制到项目中去,和.cpp,.h文件位于同一路径下

 实例代码:

 1 #include <stdio.h>
 2 #include <mysql.h> // 如果配置ok就可以直接包含这个文件
 3 int main(void)
 4 {
 5     MYSQL mysql;    //一个数据库结构体
 6     MYSQL_RES* res; //一个结果集结构体
 7     MYSQL_ROW row;  //char** 二维数组,存放一条条记录
 8                     
 9     mysql_init(&mysql);//初始化数据库
10     //设置编码方式
11     mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
12     //连接数据库
13     //判断如果连接失败就输出连接失败。
14     if (mysql_real_connect(&mysql, "localhost", "root", "123456", "mysql", 3306, NULL, 0) == NULL)  //mysql是一个数据库
15         printf("连接失败!\\n");
16     //查询数据
17     mysql_query(&mysql, "select * from db");  //db是数据库下的一个表
18     //获取结果集
19     res = mysql_store_result(&mysql);
20 
21     //给ROW赋值,判断ROW是否为空,不为空就打印数据。
22     while (row = mysql_fetch_row(res))
23     {
24         printf("%s  ", row[0]);//打印ID      打印第一列
25         printf("%s  ", row[1]);//打印姓名    打印第二列
26         printf("%s  ", row[2]);//            打印第三列
27         printf("%s  ", row[3]);
28         printf("%s  ", row[4]);
29         printf("%s  ", row[5]);
30         printf("%s  \n", row[6]);
31     }
32     //释放结果集
33     mysql_free_result(res);
34     //关闭数据库
35     mysql_close(&mysql);
36     //停留等待
37     system("pause");
38     return 0;
39 }
View Code

相关文章: