Oracle OCCI - 按名称而不是索引获取列

时间:2011-02-09 11:13:06

标签: c++ oracle occi

使用oracle OCCI是否可以在从查询结果集请求数据时为列提供索引,实际传递列名并获取数据?

所以不要这样做:(伪代码)

std::string query = "SELECT NAME FROM CUSTOMERS;";

std::string myresult = oracle.getString(1); // name column in query
你会这样做:

std::string myresult = oracle.getString("NAME"); //column name to get string from

有没有办法做到这一点?我环顾四周,但一直找不到任何东西,除了可能要获取表格的元数据。

1 个答案:

答案 0 :(得分:2)

我刚刚阅读了documentation

它说ResultSet有一个方法getColumnListMetaData(),它产生vector MetaData

很可能您可以使用MetaData::getString来查找列的名称。

如果是这样,那么您可以使用std::map<string, int>将列名称映射回索引。

然后使用 name index 映射,您可以实现一个getString,它将查询结果和列名作为参数。

可能使用过这个特定数据库的人可以更好地帮助你,但似乎所需要的只是看看文档。

干杯&amp;第h。,