我的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 文件 其他变量 都声明为局部变量
目前没有问题 想来以后 也 不会 有问题