我一直致力于简单的数据库系统管理,我已经提出:
std::map< std::string, std::vector < std::map < std::string,
boost::variant <std::string, size_t, double bool> > > tables;
我有地图(记录)矢量(表格)的地图(表格),我已经写了一个函数来读取文件,但我不确定如何访问单个属性。
我可以用以下内容打印整个内容:
for(auto table: tables)
for(auto record : table.second)
for(auto attribute : record) {
std::cout << j.second;
我尝试过这样的事情:
std::cout << tables["credentials"][2]["username"];
然而,这不起作用;它只打印一个空行。
答案 0 :(得分:0)
您最有可能使用错误的地图键来访问数据库。
更新您的代码以打印数据库的内容,以便您也可以在地图中查看密钥。
for(auto table: tables)
{
std::cout << "Key: " << table.first << std::endl;
for(auto record : table.second)
{
for(auto attribute : record)
{
std::cout << "Key: " << attribute.first
<< ", Value: " << attribute.second << std::endl;
}
}
}