その先にあるもの…

C++에서 MySQL 연동하기 본문

카테고리 없음

C++에서 MySQL 연동하기

specialJ 2016. 5. 10. 20:33


준비

프로젝트 속성창에

include directory 추가 C:\Program Files\MySQL\MySQL Server 5.7\include )

library directory 추가 C:\Program Files\MySQL\MySQL Server 5.7\lib )

libmysql.dll 파일을 카피하여 작업 폴더에 넣어둔다.


주의 :     컴파일시 32bit나 64bit 확인 컴파일 에러 발생

 vs2015버전은 struct 재선언 되었다는 오류 발생




원본 코드 : http://wrinos.tistory.com/212


#include <my_global.h>

#include <mysql.h>


#pragma comment(lib, "libmySQL.lib")


#define DB_HOST "192.168.0.1"     // DB IP주소 또는 도메인 또는 localhost

#define DB_USER "root"             // DB접속 계정 명

#define DB_PASS "passwd"     // DB접속 계정 암호

#define DB_NAME "DB_NAME"     // DB 이름



int main(int argc, char **argv)

{

printf("MySQL client version: %s\n", mysql_get_client_info());


MYSQL *connection=NULL, conn;

MYSQL_RES *sql_result;

MYSQL_ROW sql_row;

int query_stat;


// 초기화

mysql_init(&conn);


// DB 연결

connection = mysql_real_connect(&conn, DB_HOST, DB_USER, DB_PASS,DB_NAME, 3306,(char *)NULL, 0);

if(connection==NULL)

{

fprintf(stderr, "Mysql connection error : %s", mysql_error(&conn));

return 1;

}

//한글사용을위해추가.

mysql_query(connection,"set session character_set_connection=euckr;");

mysql_query(connection,"set session character_set_results=euckr;");

mysql_query(connection,"set session character_set_client=euckr;");



// Select 쿼리문

char *query =  "SELECT * FROM tableName"; // From 다음 DB에 존재하는 테이블 명으로 수정하세요

query_stat=mysql_query(connection,query);

if (query_stat != 0)

{

fprintf(stderr, "Mysql query error : %s", mysql_error(&conn));

return 1;

}


// 결과출력

sql_result=mysql_store_result(connection);

while((sql_row=mysql_fetch_row(sql_result))!=NULL)

{

printf("%2s %2s %s\n",sql_row[0],sql_row[1],sql_row[2]);

}

mysql_free_result(sql_result);


// DB 연결닫기

mysql_close(connection);


return 0;

}

Comments