데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교
http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2
DB 에속한테이블보기 show tables; 에러발생 DB 생성및삭제연습 create database test; show tables; drop database test; DB 삭제 실습에서사용할 DB 생성 create database MyDB; use MyDB; show tables; DB 생성 Department of Computer Engineering 3
실습에사용할테이블생성 create table student ( SNO INT PRIMARY KEY, SNAME CHAR(20), MAJOR CHAR(20), GPA REAL); 테이블생성 한글문제해결 set names euckr; 한글입력가능하게해줌 Department of Computer Engineering 4
샘플데이터입력 데이터입력 insert into student values (20091000, ' 홍길동 ', ' 컴퓨터공학과 ', 4.3); select * from student; 확인 insert into student values (20091000, ' 일지매 ', ' 컴퓨터공학과 ', 4.0); 에러발생 (Primary Key 중복 ) insert into student values (20091001, ' 일지매 ', ' 컴퓨터공학과 ', 4.0); select * from student; Department of Computer Engineering 5
삭제예제 데이터삭제 delete from student where sno = 20091001; select * from student; Department of Computer Engineering 6
DB 에속한테이블리스트 show tables; Metadata 검색 테이블의구성을보여줌 ( 두가지방법 ) show columns from student; describe student; student 테이블생성관련정보보여줌 show create table student; Department of Computer Engineering 7
My.ini MySQL 한글설정 [mysqld] character-set-client-handshake=false default-character-set=euckr MySQL alter database MyDB character set euckr collate euckr_korean_ci; 서비스에서다시시작 ODBC 설정 Connect options 탭에서 initial statement 에 set Charset euckr 입력 Department of Computer Engineering 8
ODBC 드라이버설치 http://dev.mysql.com/downloads/ Connector/ODBC 다운로드후설치 Department of Computer Engineering 9
ODBC 추가 (Windows 7) 제어판 성능및유지관리 관리도구 데이터원본 (ODBC) 클릭 Department of Computer Engineering 10
ODBC 추가 (Windows XP) 제어판 성능및유지관리 - 관리도구 데이터원본 (ODBC) 클릭 Department of Computer Engineering 11
Data Source Name (DSN) 추가 1. 클릭 3. 모두입력 2. 클릭 4. 눌러서 mydb 선택 5. 성공확인 7. 확인 6. 확인 8. 클릭 Department of Computer Engineering 12
Visual Studio 로새프로젝트생성 MyDBViewer MFC 응용프로그램 1. 클릭 2. 클릭 4. MyDBViewer 3. 디렉토리지정 Department of Computer Engineering 13
응용프로그램마법사세팅 단일문서 (SDI), 유니코드라이브러리사용해제 단일문서 MFC 표준 해제 해제 확장명지정 ( 다른응용프로그램과겹치지않게주의 ) Department of Computer Engineering 14
데이터베이스지원 클릭 클릭 클릭 Department of Computer Engineering 15
멤버변수및함수추가 MyDBViewerDoc.h 파일에추가 l 은 L 의소문자 long type Department of Computer Engineering 16
멤버변수초기화 생성자및 OnNewDocument() 에서초기화 MyDBView erdoc.cpp 파일 멤버변수추가하면생성자에서초기화 여기에서도초기화해줄것 Department of Computer Engineering 17
리소스뷰탭선택 왼쪽밑에있음 없으면보기메뉴에서선택 메뉴추가 3. MySQL(&M) 입력 2. 여기클릭하고 Insert 누름 1. 더블클릭 Department of Computer Engineering 18
메뉴아이템추가 메뉴아이템 Connect(&C) Select(&S) Close(&X) Select(&S) 입력 Connect(&C) 입력 Close(&X) 입력 Department of Computer Engineering 19
Prompt 추가 속성편집 상태표시줄에출력, \n 다음은아이콘툴팁으로출력 Connect: MySQL에접속합니다 \nmysql 접속 Select: DB를검색합니다.\nDB 검색 Close: MySQL 접속을해제합니다.\nMySQL 접속해제 Prompt 추가 클릭 Department of Computer Engineering 20
이벤트처리기추가 1. 오른쪽버튼 2. 선택 Department of Computer Engineering 21
Document 클래스에서처리 참고 : 첨부된소스코드에서 UPDATE_COM MAND_UI 관련코드확인할것 1. 선택 2. 클릭 Department of Computer Engineering 22
ODBC 접속을위한소스코드입력 MyDBView erdoc.cpp 파일 student2013 Department of Computer Engineering 23
void Execute() 함수추가 1. 오른쪽버튼 2. 선택 Department of Computer Engineering 24
함수추가마법사 void Execute() 1. void 로변경 2. 입력 3. 클릭 Department of Computer Engineering 25
함수정의 Select 문실행 Department of Computer Engineering 26
이벤트처리기추가 1. 오른쪽버튼 2. 선택 Department of Computer Engineering 27
Document 클래스에서처리 1. 선택 2. 클릭 Department of Computer Engineering 28
함수정의 화면을다시그림 Department of Computer Engineering 29
OnMysqlClose() 이벤트처리기구현 같은요령으로이벤트처리기구현 Department of Computer Engineering 30
OnDraw() 에코드추가 MyDBViewerView.cpp 파일 주석해제할것 간단하게 ODBC 를사용하기위한예시방법임 Term Project 시에는방법을변경하여사용할것 ( 리스트컨트롤등사용 ) Department of Computer Engineering 31
한글깨짐현상해결 만약실행시한글이깨진다면 Department of Computer Engineering 32
한글깨짐현상해결 ( 계속 ) 클릭 클릭 클릭 euckr 선택 Department of Computer Engineering 33
한글깨짐현상해결 ( 계속 ) Department of Computer Engineering 34