MFC连接Mysql返回结果集,C++操作
之前百度了很多篇关于mysql结果集的文章,但可能是自己理解的问题,一直没有能正确应用到实践中,后来又自己学习了一些知识,在C++中成功分解了结果集,下面讲一下我自己的一些理解:
(1)对于mysql结果集的问题,它其实返回的是一个类似于表的东西
(2)首先我们要定义一个MYSQL_RES型的变量来接收返回的结果集,得到结果集函数是mysql_store_result
大概操作:MYSQL_RES *res=mysql_store_result(&m_sql);//m_sql是自定义的一个数据库对象
(3)接下来就是对结果集的访问,定义一个MYSQL_ROW型的变量对结果集的行和列进行访问
操作:MYSQL_ROW row=mysql_fetch_row(res);//mysql_fetch_row可以逐步访问结果集的每一行,当返回值为false时表示访问结束
(4)访问结果集的列:可以通过mysql_num_fields(res),此函数可以返回结果集中的字段数,可以通过一个for循环实现对字段的访问
操作:for(int t=0;t<mysql_num_fields(res);t++)
m_Vanum=row[t];
/在第三步使用的row其实可以看成是一个char型的数组,而row[t]是访问到的行的第t列/
(4)最后一定要记住,使用了结果集必须释放结果集!!!!mysql_free_result(res);
下图为实际操作:
到这里基本是操作结果集的方法,第一次写,如果有错还请指正!