C++通过mysql的c api连接mysql服务器
1、在连接之前,不要忘记打开mysql服务器哇(Navicat打开或者不打开都可以)
2、添加包含目录
3、添加libmysql.lib到附属依赖中
上一步中也也可以在程序代码的开始处加上#pragma comment(lib,"D:\\Program Files\\MySQL\\MySQL Server 5.6\\lib\\libmysql.lib") 来导入libmysql.lib)
4、如果使用的mysql是64位的,还需要将项目的解决方案平台由win32改成x64
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 }