Linux和Windows端 ,使用C/C++链接MySQL

16 篇文章 0 订阅
13 篇文章 1 订阅

在Windows端连接MySQL

编者在windows端使用的是vs2012 ,所以用vs2012来进行链接MySQL .

1. 设置vs为x64模式

因为下载的MySQL是x64的 , 所以vs上也要与之对应 , 不然就会报错
在这里插入图片描述

很多人再打开后都是Win32 , 所以要手动添加x64.
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
这样第一步就算是完成了.

2.设置目录文件

找到MySQLinclude头文件目录和lib库文件目录 , 编者的目录是C:\Program Files\MySQL\MySQL Server 5.7\includeC:\Program Files\MySQL\MySQL Server 5.7\lib 大部分的人都是这个目录 .
在这里插入图片描述

在包含目录的最后写上C:\Program Files\MySQL\MySQL Server 5.7\include
在库目录的最后写上C:\Program Files\MySQL\MySQL Server 5.7\lib
切记 , 用" ; "号分隔.
在这里插入图片描述

3.把libmysql.dll拷贝到工程目录下

在附加依赖项的最后添加libmysql.dll; 并且要到MySQL的目录下 , 将它拷贝到vs的工程目录下
在这里插入图片描述在这里插入图片描述在这里插入图片描述

工程的目录应该是这个 , 因为编者测试时在每个x64目录里都拷贝了一份 , 具体是那个还需要测试.

4.测试链接是否成功

将以下源码拷贝到vs中 , 编译运行

#include <mysql.h>
#include<iostream>
#include <string>
using namespace std;

int main()
{
	// 定义存储MYSQL连接信息的结构体
	MYSQL *mysql = nullptr;

	// 初始化MYSQL结构体信息
	mysql = mysql_init(nullptr);

	// 和mysql server创建连接
	if (!mysql_real_connect(mysql, "localhost", "root",
		"123123", "school", 3306, nullptr, 0))
		//第四个参数是 MySQL root用户的登录密码 
		//第五个参数是要连接的数据库名
		//第六个参数是端口号
	{
		cout << "connect mysql server error!" << endl;
		return 0;
	}

	// C和C++默认用GBK编码中文,所以设置服务器中文编码也采用gbk
	mysql_query(mysql, "set names gbk");

	// SQL查询操作
	string sql = "select * from student"; //选择要查询的表 , 每个人的都不一样
	mysql_query(mysql, sql.c_str());

	// 存储查询到的结果集
	MYSQL_RES *res = nullptr;
	res = mysql_store_result(mysql);
	// 查询到的结果集的行数是0,说明没有查到任何信息
	int count = mysql_field_count(mysql);
	cout << "count:" << count<<endl;
	if (0 == count)
	{
		cout << sql << "未查询到任何信息!" << endl;
		mysql_free_result(res);
		return 0;
	}

	// 获取查询的结果集
	MYSQL_ROW row;
	int fields = mysql_num_fields(res);
	while (row = mysql_fetch_row(res))
	{
		for (int i = 0; i < fields; ++i)
		{
			cout << row[i] << " ";
		}
		cout << endl;
	}

	mysql_free_result(res);
	mysql_close(mysql);

	return 0;
}

运行结果:
在这里插入图片描述

这样MySQL就连接成功了.

在Linux端连接MySQL

Ubuntu端

之前写过帖子安装MySQL,这里就不赘述
然后在终端输入:

sudo apt-get isntall mysql-client

sudo apt-get install libmysqlclient-dev

至此 , 环境安装完毕 , 检查客户端函数库是否安装

ls /usr/include/mysql/
ls /usr/lib/mysql/

编译命令:

g++ -o mysql a.cpp -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient

运行结果:
在这里插入图片描述

我们发现 , 中文出现乱码 , 所以改变编码方式 , 将上述代码中的mysql_query(mysql, “set names gbk”); **“gbk"改变成为"utf-8”**即可,再来看看输出结果
在这里插入图片描述
这样就算连接完成了.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值