1

使用 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

有什么办法吗?我环顾四周,但除了可能要获取表的元数据之外,什么也找不到。

4

1 回答 1

2

我刚刚阅读了文档

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

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

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

然后使用该名称索引映射,您可以实现getString将查询结果和列名称作为参数的 a。

可能使用过这个特定数据库的人可以为您提供更好的帮助,但似乎只需要查看文档即可。

干杯&hth.,

于 2011-02-09T21:18:59.380 回答