2013-04-27 2 views
0

mysql에서 쿼리를 보낸 후 어떻게 메모리에 원시 데이터를 가져올 수 있습니까? 데이터에 대한 포인터를 CSV 형식의 형식으로 얻으려고합니다. 내가 포인터를 인쇄하는 경우mysql에서 쿼리 후 원시 데이터를 가져 오는 방법은 무엇입니까?

char tmp[256]; 
sprintf(tmp,"select * from my_data");          
mysql_query(&DbObj,tmp); 

char * pointer = RESULT; //How to GET this RESULT, is there a short-cut? 

, 나는 같은 것을 얻을 수 있도록 노력하겠습니다 : 나는 그것을위한 mysql.h에서 검색

peter 1234 
sue 2332 
... 

을, 나는 그것을 찾을 수 없습니다. 나는 그것이 어떤 구석에 있다고 생각합니다.

+1

나는 그것이 존재하지 않는다는 좋은 가능성을 두겠다. SQL 결과는 보통 "커서"를 통해 반환됩니다. 일반적으로 한 번에 한 행만 액세스 할 수 있으므로 전체 결과를 단일 문자열로 얻으려면 행을 따라 걸어서 연결해야합니다. –

답변

0

MySQL은 데이터베이스에서 변수로 복사 (할당)하여 데이터를 반환합니다. BLOB와 같은 더 큰 필드의 경우, 데이터는 스트림을 사용하여 전송됩니다.

MySQL은 쿼리를 실행하고 데이터 집합이나 테이블을 반환합니다. 레코드에서 항목을로드 한 다음 다음 함수를 실행하여 다음 행으로 진행해야합니다.

전체 결과 집합 (표)을 메모리으로 전송하려면 드라이버 소스 코드를 검토하십시오. MySQL이 전체 테이블을 메모리로 전송하도록 설정되었는지는 확실치 않습니다.

MySQL API를 사용하는 대신 테이블에 직접 액세스해야합니까?

관련 문제