2011-02-09 162 views
1

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

getVector()可以探討更多。 – DumbCoder 2011-02-09 11:37:12

+0

@DumbCoder:你以前用過嗎?你能舉一個例子嗎?在例子 – 2011-02-09 13:26:28

回答

2

我剛剛讀了documentation

它說ResultSet有一個方法getColumnListMetaData(),它產生vectorMetaData

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

如果是這樣,那麼你可以使用std::map<string, int>將列名映射回索引。

而且隨着地方指數映射你就可以實現一個getString,需要一個查詢結果和列名作爲參數。

可能有人使用這個特定的數據庫可以幫助你更好,但似乎只需要查看文檔。

乾杯&第h。,

相關問題