[1] MySQL에서 Database와 사용할 Table을 생성한다. 또는 앞 소스에서 만든 mysql_api_test 테이블을 이용한다.
예) uid, passwd, name, email, address, tel
[2] ODBC 설정
1. [제어판] -> [관리도구] -> [데이터 원본 ( ODBC )]를 실행.
2. 사용자 DSN -> 추가 -> MySQL ODBC 5.2 Driver -> 마침
3. Connector/ODBC 다이얼로그에서 다음을 입력한다.
Data Source Name: MyTest_ODBC
TCP/IP Server: localhost
User: root
Password: ****
Database: test (데이터베이스 선택)
4. 테스트를 하고 완료버튼을 누른다.
[3] MFC Dialog 환경에서 클래스를 추가 합니다. Add -> Class
2) ATL(ATL Object)-> ATL OLEDB Consumer를 선택하고 [Add] 버튼 클릭
3) [Data Source...] 버튼 클릭 후
Microsoft OLE DB Provider for ODBC Drivers 선택 -> [다음]
4) 데이터 연결 속성 -> 연결
데이터원본 이름 사용 : MyTest_ODBC
사용자 이름 : root
암호 : ***
사용할 초기 카탈로그 : (없음.)
연결테스트
5) mysql_api_test 테이블 선택 후 [OK]버튼 클릭
6) Charge, Insert, Delete 콤보를 선택한다.
7) 마침 버튼을 누르게 되면 테이블 명과 같은 클래스 ( Cmysqlapitest) 가 생성되고 화면이 이동된다.
에러가 발생하면 다음과 같은 부분을 찾아 삭제한다.
#error Security lssue: The connection string may contain a password
[4] 프로그램 작성
CmysqlapitestAccessor 데이터 처리 클래스
1. 헤더파일 추가
#include "mysqlapitest.h"
Cmysqlapitest m_SqlSet;
2.
BOOL CLoginDlg::OnInitDialog()
{
HRESULT hr;
if ( FAILED ( hr = m_SqlSet.Open() ) )
{
AfxMessageBox( " 데이터베이스 열기 실패 !" );
return FALSE;
}
}
3. 함수를 추가한다.
BooL CMydbMfcDlg::DBQuery( char* quer, int flag)
{
HRESULT hr;
m_SqlSet.Clos();
if(floag==0)
{
if( FALED( hr = m_SqlSet.CCommand<CAccessor<CmysqlapitestAccessor > > ::Open(
m_SqlSet.m_session, query))) return FALSE;
M_sQLsET.mOVEfIRST();
}
else if (flag == 1)
{
if ( FAILED( hr-m_SqlSet.CCommand<CAccessor<CmysqlapitestAccessor> > ::Open( m_SqlSet.m_session,
query, 0, 0, DBGUID_DEFAULT, false)))
return FALSE;
m_SqlSet.MoveFirst();
}
else
return FALSE;
return TRUE;
}
4. 버튼을 생성하여 다음 쿼리를 테스트
void CMydbMfcDlg::OnButton1()
{
int szID = 2;
TCHAR szQuery[128] = {0, };
wsprintf( szQuery, _T("select * from mysql_api_test where id = '%d'"), szID);
if( !DBQuery( szQuery, 0 )))
{
AfxMessageBox(" 데이터베이스 연결 실패! ");
return;
}
CString str;
str.Format("%ld %;d %s", m_SqlSet.m_id, m_SqlSet.m_num, m_SqlSet.m_string );
AfxMessageBox(str);
}
'Programming > MySQL' 카테고리의 다른 글
MySQL MFC 연동 예제 (0) | 2020.06.29 |
---|---|
MySQL MFC 연동 (0) | 2020.06.29 |
Mysql 목록보기 조회 (0) | 2020.06.28 |
MySQL PHP로 보기 (0) | 2020.06.28 |
MySQL 외부명령 테이블 만들기 (0) | 2020.06.28 |