- 下载MySQL Connector/C,根据你的系统版本选择下载ZIP ARCHIVE,下载链接
- 配置附加目录和库目录
- 项目-->属性-->配置属性-->VC++目录-包含目录 中加入mysql Connect C文件的include目录(根据自己的目录设置,此处测试使用了绝对路径)
- C:\Users\kelvin\Downloads\mysql-connector-c-6.1\include
- 项目-->属性-->配置属性-->VC++目录-库目录 中加入mysql Connect C文件的lib目录
- C:\Users\kelvin\Downloads\mysql-connector-c-6.1\lib
- 项目-->属性-->配置属性-->调试-->环境 中加入dll文件目录
- PATH=C:\Users\kelvin\Downloads\mysql-connector-c-6.1\lib
- 创建数据库
-
CREATE DATABASE `kg` /*!40100 DEFAULT CHARACTER SET utf8 */;
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`name` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='test';
INSERT INTO `kg`.`user` (`id`, `name`) VALUES ('1', 'james');
- 测试代码, 新建main.cpp
#include <WinSock2.h>
#include <mysql.h>
#include <iostream>
#include <string>
using namespace std;
int main()
{
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
// 初始化MYSQL变量
mysql_init(&mysql);
// 连接Mysql服务器,本例使用本机作为服务器。访问的数据库名称为“msyql”,参数中的user为你的登录用户名,***为登录密码,需要根据你的实际用户进行设置
if (!mysql_real_connect(&mysql, "127.0.0.1", "root", "123456", "kg", 3306, 0, 0))
{
cout << "mysql_real_connect failure!" << endl;
return 0;
}
// 查询mysql数据库中的user表
if (mysql_real_query(&mysql, "select * from user", (unsigned long)strlen("select * from user")))
{
cout << "mysql_real_query failure!" << endl;
return 0;
}
// 存储结果集
res = mysql_store_result(&mysql);
if (NULL == res)
{
cout << "mysql_store_result failure!" << endl;
return 0;
}
// 重复读取行,并输出第一个字段的值,直到row为NULL
while (row = mysql_fetch_row(res))
{
cout << row[0] << row[1] << endl;
}
// 释放结果集
mysql_free_result(res);
// 关闭Mysql连接
mysql_close(&mysql);
system("pause");
return 0;
}