使用api连接数据库时总是访问冲突异常退出

在执行mysql_close()时遇到访问冲突异常。尝试将相关代码放在XXXdlg.cpp中,但出现重定义错误。放置libmysql.dll文件并考虑版本兼容性问题,但问题未解决。最终发现是由于在修改数据库后未给res赋值,导致mysql_close()出错,通过调整代码避免了该问题。
摘要由CSDN通过智能技术生成

我的FreeConnect函数

Void XXXDlg::FreeConnect()
{
	mysql_free_result(res);
	mysql_close(&mysql);
};

执行到mysql_close() 的时候 总是访问冲突
于是我把

MYSQL mysql;  //mysql连接
MYSQL_FIELD *fd;  //字段列数组
char field[32][32];  //存字段名二维数组
MYSQL_RES *res; //返回行的一个查询结果集
MYSQL_ROW column; //返回数据行的列
char query[150]; //查询语句

放在 XXXdlg.cpp中 但是这时出现 与 XXYDlg.obj 里面的nysql重定义等 生成解决方案失败
打断点 打开堆栈信息 说是 libmysql.dll有问题 但是我在目录下 放了 这个 文件 在 windows/system32也放了
也有说是版本问题 可能高版本的MySQL有点不兼容低版本的vs 可是即便我把vs换成2019的 项目也不好移植
暂时找到的解决办法 重命名了各个变量 也许 以后 还有什么别的问题 以后出现了 再更把

MYSQL mysql10;  //mysql连接
MYSQL_FIELD *fd10;  //字段列数组
char field10[32][32];  //存字段名二维数组
MYSQL_RES *res10; //返回行的一个查询结果集
MYSQL_ROW column10; //返回数据行的列
char query10[150]; //查询语句

至此,编译成功,祝遇到问题的小伙伴早点解决!

2020.9.3

自从上次那样改过之后 还是会隔一段时间出现 访问冲突
于是我把 mysql 和 res 放在XXXdlg.h 文件 其他变量 都声明为局部变量
目前没有问题 想来以后 也 不会 有问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值