출처 : http://gandus.tistory.com/465
연동시에 필요한 함수들 정리
mysql_init(&mysql); // 연동의 초기화를 담당한다.
mysql_real_connect(&mysql, DB_ADDRESS, DB_ID, DB_PASS, DB_NAME ,3306,0,0) // 여기서 부터 실질적으로 연동을 한다.
mysql_query(&mysql,"set names euckr"); // 쿼리를 보낸다.
m_res = mysql_store_result(&mysql) // 결과를 저장한다.
row = mysql_fetch_row(m_res) // row 에 값을 담아온다.
mysql_fetch_array() // row 에 row[id] 이런식으로 인덱스를 이용할 수 있다.
mysql_num_rows // 레코드의 총 갯수를 파악한다.
mysql_num_fields // 하나의 레코드 안에 필드(속성)의 갯수를 파악한다.
아래 부터 연동과 간단한 예제 방법이다.
mysql 설치시에 커스텀으로 설치 - x자로 된것들을 모든 것들을 설치한다.
server machine 을 설치하고 - 랭귀지도 best 로 설정한다
mfc 프로젝트 속성에서 - c/c++ ->
추가 디렉토리 설정 : "C:\Program Files\MySQL\MySQL Server 5.0\include"
링커에도 - 추가 라이브러리
: "C:\Program Files\MySQL\MySQL Server 5.0\lib\opt"
stdafx.h 파일에 다음과 같이 선언해 준다.
/******* Mysql 연동을 위한 변수를 선언한다. *********/
#include "mysql.h"
#include <WinSock2.h>
#pragma comment(lib,"libmysql.lib")
#pragma comment(lib,"ws2_32.lib")
#define DB_ADDRESS "localhost"
#define DB_ID "root"
#define DB_PASS "cpc1234"
#define DB_NAME "gandus"
/**** mysql 변수를 추가한다. ****/
extern MYSQL_ROW row; // mysql 의 행을 맡는다.
extern MYSQL_RES *m_res; // mysql의 결과를 받아온다
extern MYSQL mysql; // mysql의 전체적인 연동을 담당한다.
stdafx.cpp 파일에 다음과 같이 선언해 준다.
MYSQL_ROW row;
MYSQL_RES *m_res;
MYSQL mysql;
db를 연결할때 사용할 소스 코드에 상황에따라 적어주면 된다.
// mysql의 초기화를 담당한다.
mysql_init(&mysql);
if(!mysql_real_connect(&mysql, DB_ADDRESS, DB_ID, DB_PASS, DB_NAME ,3306,0,0))
{
AfxMessageBox(mysql_error(&mysql),MB_OK);
}
else
{
mysql_query(&mysql,"set names euckr"); //한글 인식
AfxMessageBox("DB 연결 성공",MB_OK);
//mysql_close(&mysql);
}
/*********** mysql의 명령문을 사용하는 예제이다. ************/
CString query;
query.Format("select * from gandus_table");
if(mysql_query(&mysql, query))
{ // 쿼리 요청
return;
}
if((m_res = mysql_store_result(&mysql)) == NULL)
{ // 결과를 m_Res에 저장
return;
}
while((row = mysql_fetch_row(m_res)) != NULL)
{
// 출력창에 디버깅 용으로
TRACE("mysql에 받은 값입니다 : %s %s \n", row[0], row[1]);
}
'프로그램 > C++' 카테고리의 다른 글
VS2010 인텔리센스 에러 /MD _AFXDLL (0) | 2021.01.10 |
---|---|
미리 컴파일된 헤더 사용시 폴더위치가 다른 곳에서 에러 안나고 쓰는 방법 (1) | 2021.01.10 |
[MFC] 유니코드 멀티바이트 UTF-8 문자열 인코딩 변환 모음 (0) | 2021.01.10 |
VC++에서 쓸만한 그리도 추천 (0) | 2021.01.09 |
vc++에서 간단히 사용헐 수 있는 html 파싱 dll (0) | 2021.01.09 |