Mysql.com에서 뒤지다 보면 mysql++이라는 놈이 있습니다.. mysql api니 받아서 설치하시고..
라이브러리 링크해주시면 사용가능합니다
이건 제가 젤 첨에 공부할때 만들어놓고 mysql쓸때마다 보는 제소슨데요;;
[code]
#define HOST "localhost"
#define USER "user"
#define PASS "asdf"
#define DATABASE "mysql"
int main(int argc, char* argv[])
{
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
int fields;
int cnt;
char *query;
//Step1:mysql변수 초기화
mysql_init(&mysql);
//Step2:mysql에 접속
if(!mysql_real_connect(&mysql, HOST, USER, PASS, DATABASE, 0, (char*)NULL, 0))
{
//1044<--db없음 or deny ->없기만 하면 루틴을 만들겠는데 deny가 낀다. -_- 쳇
printf("error no : %d\n%s\n", mysql_errno(&mysql), mysql_error(&mysql));
exit(1);
}
printf("Mysql Connected...\n");
////////Step 3이 메인 루틴이다. 1 2 4는 한번씩 실행되는 루틴
//Step3:query실행 쿼리의 명령은 속도를 위해 대문자를 사용한다
query="SELECT count(*) FROM user";
if(mysql_real_query(&mysql, query, strlen(query)))
{//1146<--table 없음
printf("error no : %d\n%s\n", mysql_errno(&mysql), mysql_error(&mysql));
exit(1);
}
res=mysql_store_result(&mysql);
fields=mysql_field_count(&mysql);
////////////////////////////////////////
//res // fields // error //
//NULL// 0 // UPDATE or DELETE //
//NOTNULL ---------> OK //
//NULL// NOT 0 // Error //
////////////////////////////////////////
if(res)//NULL이 아닌 부분 즉 레코드가 있는 경우
{
while((row=mysql_fetch_row(res)))
{
for(cnt=0;cnt<fields;cnt++)
printf("%12s", row[cnt]);
printf("\n");
}
}
else
{//NULL인 부분 에러 또는 update나 delete같이 레코드가 없는 결과를 수행한 경우
if(fields==0)//fields가 0이므로 오케이
{
printf("%d rows affected\n", mysql_affected_rows(&mysql));
}
else
{
printf("error no : %d\n%s\n", mysql_errno(&mysql), mysql_error(&mysql));
exit(1);
}
}
mysql_free_result(res);
//Step4:종료한다
mysql_close(&mysql);
return 0;
}
[/code]
라이브러리 링크해주시면 사용가능합니다
이건 제가 젤 첨에 공부할때 만들어놓고 mysql쓸때마다 보는 제소슨데요;;
[code]
#define HOST "localhost"
#define USER "user"
#define PASS "asdf"
#define DATABASE "mysql"
int main(int argc, char* argv[])
{
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
int fields;
int cnt;
char *query;
//Step1:mysql변수 초기화
mysql_init(&mysql);
//Step2:mysql에 접속
if(!mysql_real_connect(&mysql, HOST, USER, PASS, DATABASE, 0, (char*)NULL, 0))
{
//1044<--db없음 or deny ->없기만 하면 루틴을 만들겠는데 deny가 낀다. -_- 쳇
printf("error no : %d\n%s\n", mysql_errno(&mysql), mysql_error(&mysql));
exit(1);
}
printf("Mysql Connected...\n");
////////Step 3이 메인 루틴이다. 1 2 4는 한번씩 실행되는 루틴
//Step3:query실행 쿼리의 명령은 속도를 위해 대문자를 사용한다
query="SELECT count(*) FROM user";
if(mysql_real_query(&mysql, query, strlen(query)))
{//1146<--table 없음
printf("error no : %d\n%s\n", mysql_errno(&mysql), mysql_error(&mysql));
exit(1);
}
res=mysql_store_result(&mysql);
fields=mysql_field_count(&mysql);
////////////////////////////////////////
//res // fields // error //
//NULL// 0 // UPDATE or DELETE //
//NOTNULL ---------> OK //
//NULL// NOT 0 // Error //
////////////////////////////////////////
if(res)//NULL이 아닌 부분 즉 레코드가 있는 경우
{
while((row=mysql_fetch_row(res)))
{
for(cnt=0;cnt<fields;cnt++)
printf("%12s", row[cnt]);
printf("\n");
}
}
else
{//NULL인 부분 에러 또는 update나 delete같이 레코드가 없는 결과를 수행한 경우
if(fields==0)//fields가 0이므로 오케이
{
printf("%d rows affected\n", mysql_affected_rows(&mysql));
}
else
{
printf("error no : %d\n%s\n", mysql_errno(&mysql), mysql_error(&mysql));
exit(1);
}
}
mysql_free_result(res);
//Step4:종료한다
mysql_close(&mysql);
return 0;
}
[/code]
'Windows > MFC' 카테고리의 다른 글
MYSQL FOR VC++ (3) Installation (0) | 2013.10.02 |
---|---|
MYSQL FOR VC++ (2) (0) | 2013.10.02 |
ADO DB FOR MYSQL (0) | 2013.10.02 |
아이콘 변경 ICON (0) | 2013.10.02 |
AfxBeginThread 쓰레드 (0) | 2013.10.02 |