2012. 7. 27. 13:51

아.. 출처가 기억나질 않는다. 

일단 아래와 같은 방식으로 DB연결하고 값을 불러오는데 성공.

테이블이 이미 존재할때 가능한 코드이다. 
"select * from test";  는 test 테이블에 있는 모든값을 가져온다는 구문이고 안에는 컬럼이 2개 존재한다.



 void Database(){

char* query="select * from test"; // 실행할 쿼리

int len;

MYSQL* conn_ptr; // MySQL과의 연결을 담당

MYSQL_RES* res; // 쿼리에 대한 결과를 받는 변수

MYSQL_ROW row; // 쿼리에 대한 실제 데이터 값이 들어있는 변수

conn_ptr=mysql_init(NULL); // 초기화


if(!conn_ptr){

DisplayText("mysql_init failed!!\n");

// printf("mysql_init failed!!\n");

}

// MySQL에 연결

conn_ptr=mysql_real_connect(conn_ptr, HOST, USER, PASS, NAME, 3306, (char*)NULL, 0);

if(conn_ptr){

DisplayText("연결 성공\n");

// printf("연결 성공\n");

}else{

DisplayText("연결 실패\n");

//printf("연결 실패\n");

}

// 쿼리 실행

// mysql_query() 실행 후 반환값이 0이어야 성공

len=mysql_query(conn_ptr, query);

res=mysql_store_result(conn_ptr); // 전속한 결과 값을 MYSQL_RES 변수에 저장

// 쿼리 결과 값 출력

while((row=mysql_fetch_row(res))!=NULL){ // 한 ROW 씩 얻어 온다

DisplayText("%s %s\n", row[0], row[1]);

//printf("%s %s\n", row[0], row[1]); // 결과 값 출력

}

// 할당 된 메모리 해제

mysql_free_result(res); 

mysql_close(conn_ptr);


//scanf("%d",len);

}



Posted by k1rha