API接口文件(路径:C:\Program Files\MySQL\MySQL Connector.C 6.1)解压到“D:\MySQL”目录下
第一步:在工程名处,右击选择“属性”:
第二步:
第三步:
第四步:
第五步:
第六步:
第七步:
第八步:代码编译成功,但运行时报“LIBMYSQL.dll”错误
解决方案:将xx.dll和xx.exe放在同一目录下
打开项目工程文件所在位置,找到Debug(D:\c++\TestMySQL\x64\Debug)将LIBMYSQL.dll("C:\Program Files\MySQL\MySQL Connector.C 6.1\lib\libmysql.dll")复制过来,即可
如图所示,为Debug路径
结果:连接成功
// TestMySQL.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<WinSock2.h>
#include <mysql.h>
#include <iostream>
#include <string>
using namespace std;
int main()
{
MYSQL mysql;
mysql_init(&mysql);//初始化
//连接数据库服务器 服务器IP(默认的)用户名 密码 数据库 端口号
mysql_real_connect(&mysql, "127.0.0.1", "root", "root", "1206", 3306, NULL, 0);
string sql;
sql = "set names gbk";//客户端更改编码(方法之一)
mysql_real_query(&mysql, sql.c_str(), sql.size());
sql = "SELECT * FROM t_student";//如果是乱序,想按照id进行排序那么语句是:SELECT * FROM t_student order by id
mysql_real_query(&mysql, sql.c_str(), sql.size());
MYSQL_RES *res;//存放查询的结果集
MYSQL_ROW row;//行
//获取SQL执行结果
res = mysql_store_result(&mysql);
//遍历记录集
while ((row = mysql_fetch_row(res)) != NULL) {//行里面是有字段的,通过遍历来获取
for (size_t i=0;i<mysql_num_fields(res);++i)
{
cout << row[i] << "\t";
}
cout << endl;
}
//释放记录集
mysql_free_result(res);
//关闭数据库连接
mysql_close(&mysql);
return 0;
}