使用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
有没有办法做到这一点?我环顾四周,但一直找不到任何东西,除了可能要获取表格的元数据。
答案 0 :(得分:2)
我刚刚阅读了documentation。
它说ResultSet
有一个方法getColumnListMetaData()
,它产生vector
MetaData
。
很可能您可以使用MetaData::getString
来查找列的名称。
如果是这样,那么您可以使用std::map<string, int>
将列名称映射回索引。
然后使用 name → index 映射,您可以实现一个getString
,它将查询结果和列名作为参数。
可能使用过这个特定数据库的人可以更好地帮助你,但似乎所需要的只是看看文档。
干杯&amp;第h。,