最简单的C操作mysql数据库的基础

北京皮炎十佳医院 http://liangssw.com/bozhu/11449.html

在C++项目中使用了Mysql数据库,为了方便后续开发查询,也方便没有使用过C++操作mysql数据库的同学上手,所以在此分享一下基本的C++操作mysql数据库的简单类,这个类满足最基本的需求,你可以在这个基础上增加,再包装,让操作更加便捷,功能更加丰富。提供的类简单化,也是方便上手,容易理解。

  头文件CDataBase.h:

  

#includewindows.h#includemysql.hclassCDataBase{private:MYSQLm_mysql;char*m_host;char*m_user;char*m_pwd;char*m_db;public:CDataBase(char*host,char*user,char*pwd,char*db);~CDataBase();boolNonQuery(constchar*chSql);//非查询,增删改MYSQL_RES*Query(constchar*chSql);//查询,返回查询结果voidFreeResult(MYSQL_RES*result);//释放查询占用的资源intOpen();//打开数据库voidClose();//关闭数据库};

源码文件CDataBase.cpp:

  

  

#includeCDataBase.hCDataBase::CDataBase(char*host,char*user,char*pwd,char*db){m_host=host;m_user=user;m_pwd=pwd;m_db=db;}CDataBase::~CDataBase(){}intCDataBase::Open(){if(!mysql_init(m_mysql))return-1;//初始化连接失败if(!mysql_real_connect(m_mysql,m_host,m_user,m_pwd,m_db,0,0,0))return-2;//连接mysql数据库失败return0;//打开数据库成功}voidCDataBase::Close(){mysql_close(m_mysql);}boolCDataBase::NonQuery(constchar*sql){if(mysql_real_query(m_mysql,sql,strlen(sql))==0)returntrue;returnfalse;}MYSQL_RES*CDataBase::Query(constchar*sql){MYSQL_RES*rs=NULL;if(NonQuery(sql)){rs=mysql_store_result(m_mysql);}returnrs;}voidCDataBase::FreeResult(MYSQL_RES*result){if(result)mysql_free_result(result);}

使用代码示例文件main.cpp:

  

  

#includeiostreamusingnamespacestd;#includeCDataBase.h#pragma


转载请注明:http://www.aierlanlan.com/rzdk/466.html