【C/C++与MySql的连接及使用详解】

概要:本期主要讲解C或者C++怎么在程序中连接MySql数据库。

主要步骤

MySQL的链接库—>项目环境配置—>项目内部调用MySql类进行数据库操作。

一、MySql的链接库

如果你的计算机上已经安装了MySql数据库,那么按如下操作:
在这里插入图片描述
找到MySql Server文件夹

在这里插入图片描述
选择lib文件夹
在这里插入图片描述
这两个数据库链接文件就是我们需要的,
如果你还没有安装MySql数据库,那就先去官网下载,ok(版本选择MySQL Installer for Window)

二、项目环境配置

接下来,我们需要先创建一个C/C++的项目,这里我用的IDE是VisualStudio2017.
在这里插入图片描述
创建完项目后,先去添加一个main.cpp,然后复制MySQL链接库到项目路径下
在这里插入图片描述
接下来开始编辑项目属性。
在这里插入图片描述填入我们刚找到的MySQL链接库libmysql.lib
在这里插入图片描述
点击确定—>应用,下一步,我们要引入附加库目录。
在这里插入图片描述
找到之前mysql server文件夹下的include路径,复制找铁道附加包含目录中
在这里插入图片描述
ok,到这里已经完成了对项目的环境配置

三、项目内调用MySql类进行数据库操作

1.准备工作

头文件:

//下面这两个头文件是需要引入的,不要更改引入顺序
#include <WinSock.h>
#include <mysql.h>

创建数据库操作对象:

MYSQL *mDatabase = new MYSQL;        //mysql对象
MYSQL_RES* mRes = new MYSQL_RES;	//查询结果集合对象
MYSQL_ROW mRow;						//存放获取道德数据

初始化数据库

//初始化数据库
mysql_init(mDatabase);

设置编码方式

//设置编码方式
	mysql_options(mDatabase, MYSQL_SET_CHARSET_NAME, "gbk");

2.连接数据库

//连接数据库,要想直接连接成功,先去命令行先创建一个数据库
if (mysql_real_connect(mDatabase, "localhost", "root", "gk131413", "library", 3306, NULL, 0))
{                           //主机       用户名   密码      数据库名  端口
	cout << "数据库连接成功" << endl;
}
else {
	cout<<"数据库连接失败"<< mysql_error(mDatabase) <<endl;
	//输出错误信息
}

3.数据库建表

//数据库中建表
string _sSqlStr = "create table books(name VARCHAR(10),count INT,author VARCHAR(8));";

if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "创建失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "创建成功!" << endl;
}

4.向表中插入数据

string _sSqlStr = "insert into books(name,count,author) values(\"GUGUBO\",\"3\",\"GK\")";
if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "插入失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "插入成功!" << endl;
}

5.查询表中数据

string _sSqlStr = "select * from books where name = \'GUGUBO\'";
if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "查询失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "查询成功!" << endl;
}
//获取到查询结果
mRes = mysql_store_result(mDatabase);
while (mRow = mysql_fetch_row(mRes))
{
	cout << "name = " << mRow[0] << " author = " << mRow[1] << " borrowCount = " << mRow[2] << endl;
}

6.删除表格中的数据

string _sSqlStr = "delete from books where name = \'GUGUBO\'";
if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "删除失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "删除成功!" << endl;
}

7.修改表格中的数据

string _sSqlStr = "update books set author = \'GK\'";
if (mysql_query(mDatabase,_sSqlStr))
{
	cout << "修改失败!" << mysql_error(mDatabase) << endl;
}
else
{
	cout << "修改成功!" << endl;
}

结尾:本期关于C/C++与MySql之间的连接及使用的讲解就到这,祝你学有所得哦:)

  • 17
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
使用C语言编写程序并使用MySQL Connector/C连接MySQL时,出现LNK2019错误通常有两个可能的原因。第一种可能是缺少相应的库文件,第二种可能是项目平台和所引用的第三方SDK不一致,即32位对应引用了64位,或者64位对应引用了32位。 为解决缺少库文件的问题,您需要确保在项目设置中正确地配置了MySQL Connector/C的库文件路径。这可以通过在项目属性中的“链接器”部分设置库文件的目录或直接将库文件添加到项目中来实现。请确保您已经正确地安装了MySQL Connector/C,并根据其文档提供的指导进行设置。 如果出现平台不一致的问题,您需要检查您的项目和所引用的第三方SDK的平台是否匹配。如果您的项目是32位的,您应该使用相应的32位版本的MySQL Connector/C。同样地,如果您的项目是64位的,您应该使用相应的64位版本的MySQL Connector/C。 确保您按照正确的方式链接MySQL Connector/C,并且项目和所引用的SDK平台一致,应该能够解决LNK2019错误。如果问题仍然存在,请检查您的代码以及其他可能导致错误的因素,例如函数声明或调用的错误。 希望这些信息对您有所帮助!<span class="em">1</span> #### 引用[.reference_title] - *1* [C++使用MySQL-Connector/C++连接MySQL出现LNK2019错误的解决方法](https://download.csdn.net/download/weixin_38710127/13782499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

葛狂的博客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值