数据库连接检查以及在c++中捕获mysql报出的错误

来源:互联网 发布:西北师大知行学院评价 编辑:程序博客网 时间:2024/05/27 20:22

我在一个函数中连接了数据库,只有当数据出现变化时才使用,其他时候都被闲置!

当数据库连接闲置一段时间后再去进行数据库操作,会报错!

解决办法:mysql_ping();

                                ////////判断数据库连接是否断开////////////////////////////////////////////////////if ( mysql_ping(&mysql) != 0){//数据库重连if(!mysql_real_connect(&mysql, g_DbIp, g_DbUser, g_DbPwd, "DATAMON_DB", 3306,  NULL, 0)){int nmysql = mysql_errno(&mysql);//获取客户端错误信息编号char mysqlno[16]={0};sprintf_s(mysqlno,sizeof(mysqlno),"%d",nmysql);f_error ="位置:UpdateRefrigeratorState函数 登陆数据库失败.sql:";f_error += "\nmysql errno:";f_error += mysqlno;f_error += "\nmysql error:";f_error += mysql_error(&mysql);//获取数据库错误信息f_error += "\r\n";work_diary(f_error);//写入日志}