C/C++访问MySQL数据库

目录

VS配置属性

访问示范代码


C/C++访问MySQL数据库

VS配置属性

第一步:打开mysql的安装目录,默认安装目录如下:C:\Program Files\MySQL\MySQL Server 8.0,确认 lib 目录和include 目录是否存在。

第二步:打开VS2019,新建一个空工程,控制台应用程序即可,注意:解决方案平台选择 X64

第三步:右击工程名,打开属性页

第四步:打开VC++目录,在包含目录中,将mysql安装文件中的include文件的路径添加到这里

第五步:打开VC++目录,在目录中将mysql文件中的lib文件路径添加进来

:在属性页的链接器中,点击输入,将mysql安装文件夹中lib目录下libmysql.lib文件加到“附加依赖项”中,注意,这里直接把libmysql.lib这个依赖名加进去即可,不要加路径。

:把mysql安装目录里的lib\libmysql.dll复制到c:\windows\system32下

编译如下代码,启动mysql 80, 将代码中连接数据库的用户名和密码改成自己的设定,顺利获取到student 表中的结果即表示连接成功!

访问示范代码

//Author:See QQ:3492625357
//将xxx改为自己的mysql用户名和密码即可 源码通过测试 若有不当之处欢迎指正

#include <stdio.h>
#define USER xxx
#define PW xxx
#include <mysql.h> // mysql文件
int main(void)
{
	MYSQL mysql;    //数据库句柄
	MYSQL_RES* res; //查询结果集
	MYSQL_ROW row;  //记录结构体

	//初始化数据库
	mysql_init(&mysql);

	//设置字符编码
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");

	//连接数据库
	if (mysql_real_connect(&mysql, "127.0.0.1", "USER", "PW", "school", 3306, NULL, 0) == NULL) {
		printf("错误原因: %s\n", mysql_error(&mysql));
		printf("连接失败!\n");
		exit(-1);
	}

	//查询数据
	int ret = mysql_query(&mysql, "select * from student;");
	printf("ret: %d\n", ret);

	//获取结果集
	res = mysql_store_result(&mysql);

	//给ROW赋值,判断ROW是否为空,不为空就打印数据。
	while (row = mysql_fetch_row(res))
	{
		printf("%s  ", row[0]);  //打印ID
		printf("%s  ", row[1]);  //打印姓名
		printf("%s  ", row[2]);  //打印班级
		printf("%s  \n", row[3]);//打印性别
	}
	//释放结果集
	mysql_free_result(res);

	//关闭数据库
	mysql_close(&mysql);

	system("pause");
	return 0;
}

  • 15
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
DAO是一种数据访问技术,通常用于Microsoft Access数据库。如果你想在C++链接MySQL数据库,可以使用MySQL提供的C API。以下是使用C API链接MySQL数据库的示例代码: ```c++ #include <mysql.h> #include <iostream> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; const char *server = "localhost"; const char *user = "username"; const char *password = "password"; const char *database = "database_name"; conn = mysql_init(NULL); if (!conn) { std::cout << "Error initializing MySQL: " << mysql_error(conn) << std::endl; return 1; } if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { std::cout << "Error connecting to MySQL: " << mysql_error(conn) << std::endl; mysql_close(conn); return 1; } if (mysql_query(conn, "SELECT * FROM table_name")) { std::cout << "Error querying MySQL: " << mysql_error(conn) << std::endl; mysql_close(conn); return 1; } res = mysql_use_result(conn); while ((row = mysql_fetch_row(res)) != NULL) { std::cout << row[0] << " " << row[1] << " " << row[2] << std::endl; } mysql_free_result(res); mysql_close(conn); return 0; } ``` 在上面的示例中,我们使用mysql_init()函数初始化MySQL连接,然后使用mysql_real_connect()函数连接到MySQL服务器。如果连接失败,我们会关闭连接并返回1。然后我们使用mysql_query()函数查询数据库,并使用mysql_use_result()函数获取结果集。最后,我们使用mysql_fetch_row()函数遍历结果集并打印每行数据。最后,我们使用mysql_free_result()函数释放结果集并使用mysql_close()函数关闭连接。 请注意,上面的示例仅用于演示目的,实际代码可能需要进行错误处理和数据类型转换等其他操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员陈子青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值