本文主要介绍使用 C++ 语言保存数据库查询结果的方法。
本文使用STL的组合结构来保存数据库查询结果,STL结构如下:
// 定义存储sql结果的结构
vector
即,我们使用 vector + map 的组合结构来保存数据库查询结果,假设现有一个数据库查询结果如下:
mysql> select * from roles_2;
+---------+------------+----------+
| role_id | occupation | camp |
+---------+------------+----------+
| 12 | Mage | alliance |
| 13 | Warlock | Horde |
+---------+------------+----------+
2 rows in set (0.01 sec)
mysql>
那么 vector + map 的组合结构与上述查询结果的对应关系如下图:
所以,从上图中的对应关系能够看出,通过 vector + map 结构就可以保存数据库的查询结果了。
这里展示一个示例代码,正常情况下,我们需要真正去查询数据库、获取数据库查询结果,本文为了简单突出重点内容,示例代码中用到的数据库查询结果使用的就是前文图中的数据库结果,属于虚构出来的查询结果。
示例代码(sql_results_test1.cpp)如下:
#include
#include
编译并执行上述代码,结果如下:
从上述执行结果能够看到,通过使用 vector + map 组合结构(vector
这里再次强调一下,上述代码中的数据库查询结果(包括数据、行数、列数等)是虚拟出来的,真实场景下需要通过查询数据库获得的,一般的数据库提供的接口,返回值肯定会有这些内容的。