C++ libcql
라이브러리 작업을 시작했습니다
..결과를 C++의 Map에 저장 한 다음 반복하여 인쇄하십시오.
내가 cqlsh
를 사용하여 명령 줄에 가서 같이 선택 할 때마다 -
select records from profile_user where user_id = '1';
난 항상 records
열이 map
가있는 키 e1
이고 값이 HELLO
입니다 실제로있는 CQL 명령 행에와있는 아래의 출력을 얻을. 내가 CQL 테이블을 만들 때 내가
records
--------------------------------
{'e1': 'HELLO', 'e2': 'HELLO'}
지금 C 오는 .. CQL의 수집 기능을 사용 된 것과 동일한 방법으로 키가
e2
이며 값이 다시 HELLO
이다가 .. 나는지도로 기록을 만들어 ++
세계적 지금 내가 C++에서 선택 쿼리 위와 같은 실행됩니다 ... C++ libcql library
에서 같은 일을 검색하려고 내가 e1, e2 as the key
및 HELLO as there value inside that map
있을 것이다지도를 반환 할 ... 그것을 C에서 그것을 할 수 + +? 다음은
/**
* This method will retrieve the data from Cassandra..
* And then call print_rows method to print it out on the console
*/
void get_attributes(string id){
try{
// some code
//Connection open
connection_open();
execute_query("USE testks;");
//this will give me the result back of the select query
cql_result_t& result = execute_query("select * from profile_user where key ='"+id+"';");
// and this is printing it out on the console
print_rows(result);
// some code
} catch (int e){
// some code here
}
}
는 ++ 프로그램 내 C 실행 후 콘솔에 결과를 출력 할 방법 -
/**
* This method prints out the result on the console.. *
*
*/
void print_rows(cql::cql_result_t& result) {
while (result.next()) {
for (size_t i = 0; i < result.column_count(); ++i) {
cql::cql_byte_t* data = NULL;
cql::cql_int_t size = 0;
result.get_data(i, &data, size);
std::cout.write(reinterpret_cast<char*>(data), size);
std::cout << " | ";
}
std::cout << std::endl;
}
}
내 위의 C를 실행 한 후 콘솔에서 볼 수있는 결과 ++ 프로그램은 같은 것입니다 이 -
e1HELLOe2HELLO |
하지만 내가 찾고 있어요 것은 - 스토어 C++에서지도의 결과, 같은 방법으로 이러한에게 키해야한다고지도에서 .. 그리고 그 값은 HELLO
같은지도에 있어야합니다 ... 그리고지도를 반복하고 C에서 결과를 인쇄 + +? 내가 가지고있는 현재 코드로이 작업을 수행 할 수 있습니까?
예인 경우 누구나 간단한 예제를 제공 할 수 있습니까? 고마워요 ...
기본적으로 C++ 질문입니다. 데이터를 검색하여지도에 넣으십시오.하지만 제가 직면 한 문제는 제 배경이 완전히 자바에 불과하므로 조금 힘든 시간을 보내고 있습니다. 그것을하는 방법을 알아 내기 위해 ...
'std :: map'을 고려해야합니다. 맞습니까? –
그래 .. 그게 내가 생각했거나 효율적이지 않은지도를 읽었을 때 효율이 좋지 않다는 것입니다 ... – ferhan
유일한 문제는'print_rows'에 오는'result'를'std :: map '맞지? – P0W