2011-02-09 4 views
1

오라클 OCCI를 사용하면 쿼리 결과 집합에서 데이터를 요청할 때 열에 대한 인덱스를 제공하지 않고 실제로 열 이름을 전달하고 데이터를 가져올 수 있습니다.오라클 OCCI - 인덱스 대신 이름으로 열 얻기

그래서 대신 일 :

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

이 작업을 수행 할 수있는 방법이있다 :이 작업을 수행 할 것

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

std::string myresult = oracle.getString(1); // name column in query 

(의사를)? 나는 주변을 둘러 보았지만 아무 것도 찾을 수 없었다. 아마 테이블의 메타 데이터를 가져 오는 것 외에.

+1

getVector()는 더 탐구 할 수있다. – DumbCoder

+0

@DumbCoder : 전에 사용 해본 적이 있습니까? 사용 예를 들어 줄 수 있습니까? 별로 예제에서 그물에 찾을 수 –

답변

2

방금 ​​documentation을 읽었습니다.

ResultSetgetColumnListMetaData()이고 vectorMetaData입니다.

아마도 대부분 MetaData::getString을 사용하여 열의 이름을 찾을 수 있습니다.

그렇다면 std::map<string, int>을 사용하여 열 이름을 다시 색인에 매핑 할 수 있습니다.

그리고 장소에 그 이름인덱스 매핑은 다음 인수로 질의 결과 및 열 이름을 소요 getString을 구현할 수와

.

아마도이 특정 데이터베이스를 사용하는 누군가가 당신을 도울 수 있지만 필요한 것은 문서를 살펴 보는 것뿐이었습니다.

건배 & HTH.,

+0

이것은 계획처럼 들리 겠지만, 나는 단지 쿼리 전에 데이터가 필요하고 인덱스는 쿼리 안의 열의 인덱스가 아니라 테이블의 해당 열의 인덱스입니다. –

+0

이 질문은 오래된 질문이지만 인덱스가 예상 한 열과 정확하게 일치하는 ResultSet에서 MetaData를 가져올 수 있습니다. –