19
한한한한한한 - 1 - IT COOKBOOK ehanbit.net 비비비비비비 비비비비비비 비비비비비비 비비비비비비

비주얼베이직 데이터베이스

Embed Size (px)

DESCRIPTION

비주얼베이직 데이터베이스. 데이터베이스. 상호 연관된 데이터를 검색하거나 추가 , 삭제에 있어서 편리하고 신속하며 효율적인 환경을 제공하는 것이다 . SQL (Structured Query Language) : 구조적 질의어 관계형 DB 에서 사용되는 데이터베이스 프로그래밍 언어 관계형 데이터베이스 모델 사용 관계형 DB 모델의 구성 테이블 : 행과 열로 이루어진 관련 자료들의 집합 레코드 : 테이블의 각 행을 말함 필드 : 테이블의 각 열을 말함. 레코드. 핃드(열). - PowerPoint PPT Presentation

Citation preview

Page 1: 비주얼베이직 데이터베이스

한빛미디어㈜

- 1 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

비주얼베이직 데이터베이스비주얼베이직 데이터베이스

Page 2: 비주얼베이직 데이터베이스

한빛미디어㈜

- 2 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스데이터베이스

상호 연관된 데이터를 검색하거나 추가상호 연관된 데이터를 검색하거나 추가 , , 삭제에 있어서 삭제에 있어서 편리하고 신속하며 효율적인 환경을 제공하는 것이다편리하고 신속하며 효율적인 환경을 제공하는 것이다 . .

SQL (Structured Query Language) : SQL (Structured Query Language) : 구조적 질의어구조적 질의어 관계형 DB 에서 사용되는 데이터베이스 프로그래밍 언어

관계형 데이터베이스 모델 사용관계형 데이터베이스 모델 사용 관계형 DB 모델의 구성

테이블 : 행과 열로 이루어진 관련 자료들의 집합레코드 : 테이블의 각 행을 말함 필드 : 테이블의 각 열을 말함

이름 주소 전화번호

홍길동 창원시 02-222-1234

김진수 마산시 062-111-222

레코드

핃드( 열 )

Page 3: 비주얼베이직 데이터베이스

한빛미디어㈜

- 3 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

비주얼베이직과 데이터베이스비주얼베이직과 데이터베이스

비베로 비베로 액세스할 수 있는 데이터베이스액세스할 수 있는 데이터베이스 Jet DataBase

Microsoft Access 에서 사용되는 데이터베이스 엔진임 . MS-Acecss

ISAM Database 데이터를 인덱스로 찾는 방식의 데이터베이스임 예 ) 책의 찾아보기 형식 dBase, FoxPro

ODBC 데이터베이스 관리 시스템 (DBMS) 에 관계없이 어떤 응용 프로그램에서나 모두 접근하여 사용할 수 있도록 하기 위하여 마이크로소프트에서 개발한 표준방법응용 프로그램과 DBMS 중간에 데이터베이스 처리 프로그램을 두어 이를 가능하게 한다 . MS-SQL, Oracle

Page 4: 비주얼베이직 데이터베이스

한빛미디어㈜

- 4 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

비주얼베이직과 데이터베이스비주얼베이직과 데이터베이스

데이터 액세스 방법 데이터 액세스 방법 Data 컨트롤 이용 DAO(Data Access Object) 이용 RDO(Remote Data Object) 이용 ODBC 이용 ADO (ActiveX Data Object) 이용

Page 5: 비주얼베이직 데이터베이스

한빛미디어㈜

- 5 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

비주얼베이직과 데이터베이스비주얼베이직과 데이터베이스

데이터 액세스 방법 데이터 액세스 방법 DAO(Data Access Object) 이용

Jet DB 엔진을 손쉽게 다루기 위한 개체Ms-Access, ISAM 데이터를 다루기 위해 사용함 16bit 지원하는 응용프로그램 개발위해 사용 단일 시스템 응용프로그램에서 가장 많이 사용됨

RDO(Remote Data Object) 이용 DAO 유형과 결합된 ODBC에 대한 개체지향 데이터 액세스 인터페이스임 . 기존의 ODBC 드라이버를 통해서만 RDB 액세스할 수 있다 . 멀티스레드 프로그래밍에 사용됨 SQL 서버 , Oracle등 대규모 RDB에 사용됨

Page 6: 비주얼베이직 데이터베이스

한빛미디어㈜

- 6 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

비주얼베이직과 데이터베이스비주얼베이직과 데이터베이스

데이터 액세스 방법 데이터 액세스 방법 ADO (ActiveX Data Object) 이용

표준적이고 확장성 있는 데이터 접근 모델 제공함 여러 데이터를 동일한 방법으로 접근을 위한 프로그래밍 모델임 . RDO, DAO 보다 더 간단 , 융통성 있는 모델임 . OLE DB 데이터베이스 모델과 무관하게 고성능의 데이터 액세스를 제공함

Page 7: 비주얼베이직 데이터베이스

한빛미디어㈜

- 7 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍

1.1. DataData 컨트롤 이용한 데이터베이스컨트롤 이용한 데이터베이스 microsoft jet 데이터베이스 엔진과 Microsoft

Access 데이터베이스 엔진을 통해 데이터를 엑세스할 수 있다 .

데이터컨트롤로 많은 표준 데이터베이스 유형에 엑세스 가능함

코드작성없이도 데이터인식 어플리케이션을 쉽게 만들 수 있다 .

Page 8: 비주얼베이직 데이터베이스

한빛미디어㈜

- 8 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍 DataData 컨트롤 이용한 데이터베이스 예제컨트롤 이용한 데이터베이스 예제

비주얼데이터관리자로 데이터베이스 만들기 (P.199 ~ 206 참조 ) 폼의 에디트 컨트롤과 데이터베이스 연결

1. DataSource : 컨트롤이 DB 에 연결되는 데이터 컨트롤 지정함 2. Data Field : DB 테이블의 필드명 선택

Data 1 컨트롤

Page 9: 비주얼베이직 데이터베이스

한빛미디어㈜

- 9 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍

DataData 컨트롤의 주요 속성 컨트롤의 주요 속성 DatabaseName : DB 파일명과 경로 반환 또는 설정함

Data.DatabaseName = “D:\ 실습 \MyData.mdb”

RecordSource : 테이블명이나 SQL 문 반환 또는 설정함

Data. RecordSource = 테이블명Data. RecordSource = “Select * from TblStu”

RecordSet : 레코드 객체 반환 또는 설정함 테이블 또는 명령의 실행으로 생성된 레코드의 집합이며 , 한번에 한 레코드씩 읽을 수 있다 . Data. RecordSet.AddNew

connect : 데이터베이스 종류설정 ( 기본값 : access) 종류 : Access, FoxPro, Lotus 등등

Page 10: 비주얼베이직 데이터베이스

한빛미디어㈜

- 10 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍

DataData 컨트롤의 주요 속성 컨트롤의 주요 속성 recordsetType : recordset 의 형식을 설정

1. Table –type - 데이터베이스 파일에 직접 연결하는 형식임 - 파일에 직접 연결하므로 인덱스를 사용함 - 속도가 제일 빠름 - 한번에 하나의 테이블만 처리가능함

2. Dynaset-type - 레코드셋을 메모리에 동적으로 읽어서 사용하므로 추가 ,

수정 , 삭제 , 검색이 가능함 - 모든 데이터를 메모리에 읽는 것이 아니라 필요한 자료만

읽어와서 사용함 - 여러 개의 테이블을 동시에 사용할 수 있다 . - SQL 문을 사용할 수 있는 큰 장점이 있다

Page 11: 비주얼베이직 데이터베이스

한빛미디어㈜

- 11 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍

DataData 컨트롤의 주요 속성 컨트롤의 주요 속성 recordsetType : recordset 의 형식을 설정

3. Snapshot–type - Dynatshot-type 과 유사하지만 자료의 조회 , 출력만

가능함 - 수정 , 삭제 , 추가 불가능 - 모든 자료를 메모리에 올려놓고 사용하므로 속도 빠름 - Dynatshot-type 의 특징이 필요하면서 조회 , 출력만

하는 경우 속도가 빠르므로 많이 사용함

Page 12: 비주얼베이직 데이터베이스

한빛미디어㈜

- 12 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍

Data Data 컨트롤 속성의컨트롤 속성의 메서드 메서드 UpdateRecord

작업한 레코드셋의 내용을 최종적으로 데이터베이스에 저장함 레코드의 내용은 이 메서드가 호출되기 전까지는 데이터베이스에 저장되지 않음 Data1. UpdateRecord

Refresh 데이터베이스 내용을 다시 출력함 Data1. Refresh

Page 13: 비주얼베이직 데이터베이스

한빛미디어㈜

- 13 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍 RecordSet RecordSet 속성의속성의 메서드메서드

이동 메서드MoveFirst

처음으로 이동MovePrevious

이전으로 이동 MoveNext

다음으로 이동 MoveLast

마지막으로 이동

검색 메서드 FindFirst

처음 레코드 자료검색 FindLast

마지막레코드 자료검색 FindNext

다음 레코드 자료검색 FindPrevious

이전 레코드 자료검색 Seek

테이블형일때 자료 검색

Page 14: 비주얼베이직 데이터베이스

한빛미디어㈜

- 14 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍

Page 15: 비주얼베이직 데이터베이스

한빛미디어㈜

- 15 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍

Page 16: 비주얼베이직 데이터베이스

한빛미디어㈜

- 16 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

데이터베이스 프로그래밍 데이터베이스 프로그래밍

Private Sub Command2_Click() ' 추가버튼 Data1.Recordset.AddNew End Sub

Private Sub Command3_Click() ' 저장버튼Data1.UpdateRecordData1.Recordset.Bookmark =

Data1.Recordset.LastModified 마지막에 수정된 레코드를 현재 레코드로 설정함 .

UPDATE 하고나면 현재 위치를 분실해 처음레코드로 이 동 하 게 됨 . 수 정 된 레 코 드 를 화 면 에 보 이 게 하기위해서는 수정된 레코드를 현재 레코드로 설정해 주는 작업이 필요함

End Sub

Page 17: 비주얼베이직 데이터베이스

한빛미디어㈜

- 17 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

MicroSoft FlexGrid Control 6.0MicroSoft FlexGrid Control 6.0

MicroSoft FlexGrid Control 6.0MicroSoft FlexGrid Control 6.0특징

많은 양의 데이터를 표 형식으로 표시하고 정리 가능문자열과 그림이 수록된 표의 정렬 , 병합 및 포맷 가능데이터를 입력받아 출력만 가능FlexGrid 컨트롤을 사용하기 위해서는 컨트롤을 도구상자에 추가해야 함 .

도구 상자에 추가된 Flex Grid 컨트롤

Page 18: 비주얼베이직 데이터베이스

한빛미디어㈜

- 18 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

MSFlexGrid MSFlexGrid 컨트롤의 속성 컨트롤의 속성

Page 19: 비주얼베이직 데이터베이스

한빛미디어㈜

- 19 -

IT COOKBOOKIT COOKBOOK

ehanbit.net

[[ 실습하기실습하기 ] ] 학점 계산하기학점 계산하기

폼에 컨트롤 추가

컨트롤의 속성 설정

Form_Load 이벤트 핸들러 작성

Private Sub Form_Load()     MSFlexGrid1.Row = 0     MSFlexGrid1.Col = 1: MSFlexGrid1.Text = " 국어 "     MSFlexGrid1.Col = 2: MSFlexGrid1.Text = " 영어 "     MSFlexGrid1.Col = 3: MSFlexGrid1.Text = " 수학 "     MSFlexGrid1.Col = 4: MSFlexGrid1.Text = " 총점 "     MSFlexGrid1.Col = 5: MSFlexGrid1.Text = " 평균 "     MSFlexGrid1.Col = 0     MSFlexGrid1.Row = 1: MSFlexGrid1.Text = " 홍길동 "     MSFlexGrid1.Row = 2: MSFlexGrid1.Text = " 홍길순 "     MSFlexGrid1.Row = 3: MSFlexGrid1.Text = " 이몽룡 "     End Sub

셀에 데이터를 입력할 수 있도록 Click 이벤트 핸들러 작성

Private Sub MSFlexGrid1_Click()     MSFlexGrid1.Text = InputBox(" 점수를 입력하세요 ") End Sub

Private Sub cmdTotal_Click()     For i = 1 To 3         MSFlexGrid1.Row = i         Total = 0         For j = 1 To 3             MSFlexGrid1.Col = j             cellValue = Val(MSFlexGrid1.Text)             Total = Total + cellValue         Next j                 MSFlexGrid1.Col = 4: MSFlexGrid1.Text = Total     Next i End Sub

Private Sub cmdAverage_Click()     For i = 1 To 3         MSFlexGrid1.Row = i         MSFlexGrid1.Col = 5         Average = Val(MSFlexGrid1.TextMatrix(i, 4)) / 3         MSFlexGrid1.Text = Average     Next i End Sub

총점과 합계를 계산하는 이벤트 핸들러 작성

프로그램 실행

셀 클릭