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()vectorMetaData

ほとんどの場合、これを使用MetaData::getStringして列の名前を見つけることができます。

その場合は、を使用しstd::map<string, int>て列名をインデックスにマップし直すことができます。

そして、その名前インデックスgetStringマッピングを適切に配置すると、クエリ結果と列名を引数として受け取るを実装できます。

おそらく、この特定のデータベースを使用したことがある人があなたをより良く助けることができますが、必要なのはドキュメントを見るだけだったようです。

乾杯&hth。、

于 2011-02-09T21:18:59.380 に答える