C++连接MYSQL教程

MYSQL是使用较为广泛的开源数据库,官方提供的API是C/C++程序员连接至MYSQL编程的一种很方便的方法。下面简单介绍该方法的具体实现步骤。首先推荐一本MYSQL中文手册[下载],里面有详细的API函数介绍,本教程只演示C++连接到MYSQL的简单过程,具体的开发大家还要常去查阅手册。好了,言归正传,我们开始吧!

环境VS2015

1:新建空项目

2:配置项目属性

在项目上右键,选择属性,选择VC++目录标签页,将MYSQL的include文件夹和lib文件夹路径分别添加到包含目录和库目录。如作者本机上include路径为 C:\Program Files\MySQL\MySQL Server 5.7\include,lib路径为C:\Program Files\MySQL\MySQL Server 5.7\lib。具体操作为,点击包含目录右侧下拉菜单,选择编辑,选择新行,将上面的include路径添加进去

C++连接MYSQL教程_第1张图片

类似的,将lib路径添加到库目录中去。

3 添加libmysql.lib至附加依赖项中:(链接器--->输入--->附加依赖项)

C++连接MYSQL教程_第2张图片

4 作者使用的mysql是64位的,因此需要将项目的解决方案平台由win32改成x64,视平台而定(调试--->平台)

C++连接MYSQL教程_第3张图片


5 将C:\Program Files\MySQL\MySQL Server 5.7\lib(视具体目录而定)下的libmysql.dll文件拷贝到项目生成目录中去,否则运行提示缺少动态库!


好了,配置过程总算完成了,还算简单吧!

下面我们尝试读取一个数据库表格

首先建议一个名为mydb的数据库,新建一个名为student的表,表的内容如下:

C++连接MYSQL教程_第4张图片


我们就尝试用C++读取表内容并输出至屏幕,直接上代码

#include 
#include 
#include 
#include 

using namespace std;

int main()
{

	const char user[] = "root";
	const char pswd[] = "930808";
	const char host[] = "localhost";
	const char dbname[] = "mydb";
	unsigned int port = 3306;
	MYSQL mysql1;
	MYSQL_RES *result;
	MYSQL_ROW sql_row;
	MYSQL_FIELD *fields;
	int res;
	mysql_init(&mysql1);
	if (mysql_real_connect(&mysql1, host, user, pswd, dbname, port, NULL, 0))
	{
		mysql_query(&mysql1, "SET NAMES GBK"); //设置编码格式
		res = mysql_query(&mysql1, "select * from student");//查询
		if (!res)
		{
			result = mysql_store_result(&mysql1);
			if (result)
			{
				unsigned int num_column, num_row;	//记录表格大小
				num_column = mysql_num_fields(result);
				num_row = mysql_num_fields(result);
				fields = mysql_fetch_field(result);
				cout << endl;
				for (int i = 0; i < num_column; ++i)
				{
					cout << fields[i].name << "\t";
				}
				cout << endl<

运行结果:

C++连接MYSQL教程_第5张图片

你可能感兴趣的:(mysql)