ODBC &DAO 안명상.

Slides:



Advertisements
Similar presentations
Web Based Data Warehouse Query Tool 이화여자대학교 2002 년 컴퓨터학과 졸업프로젝트 14 조.
Advertisements

CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
© 2014 CUBRID Co., Ltd. All rights reserved. 0 / 20 Date: 공공/국방부문 클라우드 추진현황 및 오픈소스 DBMS 적용사례.
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
1 인사급여관리 시스템 컴퓨터응용과학부 4 학년 오 미 현오 미 현 2 업무적용 입사 신상정보 퇴직급여산정 퇴사 근무 근태상황, 급여관리 전산화.
프로젝트 보고서 학과 : 임학과 학번 : 성명 : 조성환 Windows 프로그래밍.
컴퓨터 공학 설계 및 실험 I MFC programming
03장 영상처리를 위한 Visual C++ 디지털 영상 파일 포맷 MFC 응용 프로그램 마법사를 이용한 MFC 프로젝트 작성
DB2 Information Management DB2 UDB CLP Command Summary.
DB 프로그래밍 학기.
DB 프로그래밍 학기.
소리가 작으면 이어폰 사용 권장!.
DRIMS-Cloud 소개.
Lecture 2 MFC and Application Frameworks
데이터베이스 시스템.
소프트웨어시스템설계(6주) 데이터베이스 연동
다이얼로그 박스와 컨트롤 컴퓨터 계측 및 실습.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
C#에서 데이터베이스 연동 방법.
제 5 장 인덱스 생성 및 관리.
Lab 3 Guide: 교재 4장 대화상자 예제. - 프로파일 입력 ( 쪽)
MFC를 이용한 네트워크게임 졸업 프로젝트 담당 교수 : 김재형 교수님 김 성준 김 민기.
Database Programming.
윤 홍 란 MFC 기초 윤 홍 란
JDBC 프로그래밍 이수지 이동주 1.
DB와 WEB 연동(1) [2-Tier] Java Applet 이용
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
데이터 베이스 란? 데이터 베이스 기능 데이터 베이스 관리 시스템 정보시스템의 구성 관게형 데이터 베이스
주)INVENTORNICS 노창배 소프트웨어 김 경 순
11장. 데이터베이스 서버 구축과 운영.
ASP 정 보 보 호 학 과 양 계 탁.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
졸업작품발표 타자 연습 프로그램 By.. Eunju 담당 교수 : 이형원 교수님 학번 : 이름 : 김은주.
MySQL 기본 사용법.
9. 데이터베이스 9.5 SQL을 사용하는 프로그램 9.6 데이터폼 작성기를 사용하는 프로그램
Network Socket Programming
Microsoft Visual C++ 제 1편 입문편 5장. 샘플 프로그램의 사용자화
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Database 소개.
담당교수 : 이형원교수님 컴퓨터응용과학부 정은영
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
SQL.
27강. MVC패턴을 이용한 게시판 만들기-I MVC패턴의 이해 전체적인 컴포넌트 설계 DB(DataBase) 생성
21강. 스프링JDBC JDBC를 이용한 반복코드 줄이기 Spring빈을 이용한 코드 간소화
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
주)INVENTORNICS 노창배 소프트웨어 김 경 순
SQL (structured query language)
DataBase 연결 및 사용방법
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
SQL Query in the SSMS : DB, Table
Database Programing 이름 : 김 수 종 학번 :
JSP 게시판 구현.
View(뷰) 1 가상 테이블(Virtual Relation)
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
Lab 9 Guide: 인터넷 프로그래밍 예제 * 일대일 채팅 프로그램 (교재 27장, 쪽)
Android -Data Base : 김성록 GyeongSang Univ. IT.
13장 자바빈과 데이터베이스를 연동한 게시판 시스템
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
04장 ㅎㅎ 화소점 처리 화소 점 처리의 개념 디지털 영상의 산술연산과 논리연산 디지털 영상의 다양한 화소 점 처리 기법
1. 시스템 카탈로그 (1) 시스템 카탈로그의 정의 ① 데이터베이스 시스템에서 데이터가 실제로 읽혀지거나 수정되기 전에 먼저 참고 되는 파일 ② 카탈로그에 저장된 데이터를 메타데이터라고 함 ③ 카탈로그가 생성되면 자료 사전 (Data Dictionary) 에 저장 되므로.
Stored program 장종원
Data Base Mysql.
제 4장 Visual C++ COM 컴파일러.
Presentation transcript:

ODBC &DAO 안명상

ODBC 개념 ODBC ODBC 등록 예제 database: namecard Open Database Connectivity DBMS엔진들과 연결하여 데이타베이스 응용 프로그램을 작성하는 API ODBC 등록 제어판-> ODBC 데이터 원본 관리자 예제 database: namecard Table: persons create table persons ( id int auto_increment, name varchar(10) primary key, tel varcahr(15), address varchar(50), bigo varchar(50) );

Project: NameCard Which database support Data source Recordset Type None Header file only Database view without file support Database view with file support Data source ODBC DAO Recordset Type Snapshot : 데이타베이스 이용이 끝난 다음 갱신내용 저장 Dynaset: 갱신이 되는 순간 바로 수정 Class 생성 CNameCardView의 base class 는 CRecordView CNameCardSet 클래스 추가로 생성 , Crecordset 상속

Project: NameCard CNameCardView CRecordset CObject  CCmdTarget  CWnd  CView  SCrollView  CFormView  CRecordView  CNameCardView CRecordset을 상속받은 CNameCardSet 을 멤버변수로 가진다. CNameCardSet* m_pSet; CRrecordset 은 ODBC를 조작하기 위한 클래스이다. CNameCardView 는 FormView처럼 대화 상자 자원을 가지며, 데이타베이스를 컨트롤 할 수 있는 Crecordset 를 멤버변수로 가진다. CRecordset 데이타베이스를 로드하고, 데이타베이스의 레코드를 관리하는 클래스 테이블의 각각의 필드을 클래스의 멤버변수로 가지며, DoFieldExchange()함수를 이용하여 실제 테이블 필드와 연결 GetDefaultConnect() ->데이타베이스 연결 GetDefaultSQL() -> 연결된 데이타베이스의 특정 테이블과 연결 m_nDefaultType = snapshot;

Project: NameCard CRecordset 함수 리스트 함수명 내용 MoveFirst/Last 제일 처음/마지막 레코드로 이동 MoveNext/Prev 다음/이전 레코드로 이동 SetBookmark 북마크 AddNew 새로운 필드 추가 Delete 현재 레코드 삭제 Edit 데이타베이스 수정 가능상태 Update Crecordset의 멤버데이타 내용을 DB로 update Requery SQL 또는 함수로 설정된 것을 새롭게 query IsEOF 파일의 마지막 isBOF 파일의 처음 getRecordCout 레코드 수 m_strFilter SQL을 저장하는 변수 m_pDatabase Cdatabase형의 멤버로 실제 DB 컨트로 클래스

Project: NameCard CRecordView 자원과 Crecordset의 연결 컴파일 / 런 Resource: IDD_NAMECARD_FORM 이름, 전화번호, 주소, 비고에 대응하는 Edit 상자 설정 , 각 Edit 상자와 Crecordset 의 멤버변수와의 연결 예) IDC_NAME : m_pSet->m_name .. DoDataExchange() 함수는 위 설정을 유지 DDX_FieldText(pDX, IDC_NAME, m_pSet->m_name, m_pSet); 컴파일 / 런

Project: NameCard 데이터 입력 메뉴-> 레코드 입력 (IDD_INSERT) void CNameCardView::OnInsert() 생성 void CNameCardView::OnInsert() { m_pSet->MoveLast(); // 마지막 레코드로 이동 m_pSet->AddNew(); // 빈 레코드 하나 추가 UpdateData(TRUE); // 자원에 있는 데이타를 m_pSet으로 전송 m_pSet->Update(); //Crecordset(m_pSet)의 멤버 데이타 내용을 DB로 전송 m_pSet->Requery() ;// 변경 사항을 데이타베이스에 반영 m_pSet->MoveFirst(); UpdateData(FALSE); //m_pSet의 데이타를 자원으로 전송 } 문제점 : 현재 데이터를 특히 ( 주키 데이터를 변경 후 입력 입력하여야 함 )

Project:NameCard 데이터 수정 메뉴-> 레코드 입력 (IDD_MODERATE) oid CNameCardView::OnModerate() { // TODO: Add your command handler code here m_pSet->Edit(); // 현재 레코드를 를 수정가능 상태로 전환 UpdateData(TRUE); //자원에 있는 데이타를 m_pSet으로 전송 m_pSet->Update(); m_pSet->Requery(); m_pSet->MoveFirst(); UpdateData(FALSE); //m_pSet의 데이타를 자원으로 전송 }

Project:NameCard 데이터 검색 메뉴-> 레코드 검색 (IDD_SEEKNAME) m_pSet->m_strFilter 에 질의 설정 후 Requery 실행 void CNameCardView::OnSeekname() { UpdateData(TRUE); //자원에 있는 데이타를 m_pSet으로 전송 m_pSet->m_strFilter.Format("name='%s'",m_pSet->m_name); m_pSet->Requery(); UpdateData(FALSE); }

Project:NameCard CRecordView 와 document의 관계 public class CNameCardDoc: public Cdocument { … public: CNameCardSet m_nameCardSet; } void CNameCardView::OnInitialUpdate() { m_pSet = &GetDocument()->m_nameCardSet; CRecordView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit(); } CNameCardSet* m_pSet; // 멤버변수

Project:NameCardDAO DAO CNameCardDAOView CNameCardDAOset 단일 컴퓨터용 데이타베이스 라이브러리 Data Source 선택: DAO CNameCardDAOView CDaoRecordView를 상속 CRecordView 와 기능이 거의 같으며 단 CDaoRecordView DAO를 핸들링하는 CDaoRecordset을 m_pSet으로 가짐 CNameCardDAOset CDaoRecordset 를 상속

Program improvement 검색시 다이얼로그 실행 다이얼로그 IDD_SNAME 생성 , Edit_Box을 m_search_name으로 매핑 void CNameCardView::OnSeekname() { CIDD_SNAME *pdlg=new CIDD_SNAME; if( pdlg->DoModal()==IDOK) m_pSet->m_strFilter.Format("name='%s'",pdlg->m_search_name); m_pSet->Requery(); UpdateData(FALSE); }