动态存储来自数据库的数据 - c ++

时间:2010-10-19 14:33:44

标签: c++ sql data-structures

您能否让我了解一下我可以动态存储来自数据库的数据的最佳方式。我知道之前的列数,所以我想动态创建一个数据结构来保存所有数据,我需要重新组织数据以显示输出。换句话说 - 当我们输入查询“select * from table”时 - 结果将会出现。如何动态存储结果。 (使用结构,地图,列表......)。提前谢谢。

3 个答案:

答案 0 :(得分:0)

简而言之,用于存储数据的数据结构实际上取决于您的数据使用模式。那就是:

  • 您是否只需要输出数据?如果是这样,为什么要存储数据?
  • 如果没有,您是否会对数据进行搜索?
  • 订购重要吗?
  • 您是否会使用数据执行计算?
  • 您需要保留多少数据?
  • 等...

答案 1 :(得分:0)

字符串数组(Delphi中的StringList,不确定C ++中有什么),每行一个,每行是逗号分隔的字符串。这可以很容易地转储并作为.csv文件读入Excel,导入到许多数据库中。 或者,XML文档可能是最好的。或者是其他东西。 “这取决于......”

答案 2 :(得分:-1)

STL有很多选择。如果您不想创建对象(如果行非常庞大并且您不需要访问返回的所有行),请使用类在类对象或字符串中存储一行。

1)使用向量 - 使用智能指针(shared_ptr)创建类的对象并将其推入向量中。由于向量中涉及的复制,我将使用shared_ptr。稍后排序

2)使用地图/集 - 如果您正在寻找更快的插入,则创建和插入元素可能成本很高。查找可能更快。

3)哈希地图 - 插入和查找时间比地图/集更好。