주)INVENTORNICS 노창배 소프트웨어 김 경 순 2018-11-06 11주 강좌 -고급 데이터베이스 작성하기 소프트웨어 김 경 순 주)INVENTORNICS 노창배
고급 데이터 베이스 작성하기 ADO 개체 환경 설정 ADO 라이브러리를 참조하여야 프로그램 연결 시 오류가 없다. 라이브러리에 의하여 ADODB와 연결해서 사용 ADO 개체 와 데이터 베이스 연결 ADO DB 참조 하기 프로 젝트 Microsoft ActiveX Data Objects 2.1 Library ADO 개체를 사용하여 자신의 외부의 컴퓨터 하드 디스크에 존재하는 데이터베이스와 연결하여 데이터 조작 ADO DB 연결 개체 만들기 Connection 개체를 연결 생성된 개체와 데이터 베이스 연결 connectionString = 경로 데이터 저장소 PhoneBookI.mdb Person ADO 개체 Connection 개체 Recordset 개체 폼 Dim cn as ADODB.Connection Set cn = new ADODB.Connection Dim cn as ADODB.Connection Set cn = CreateObject(“ADODB.Connection”) Dim cn as New ADODB.Connection
고급 데이터 베이스 작성하기 실습 1 : 기존 PhoneBookI.mdb 를 ADO 개체를 연결하여 사용 Connection 개체 생성 생성한 개체와 데이터 베이스 연결 ADO 개체와 여러 유형의 데이터 베이스와의 연결하기 Oracle , MS SQL Server, Informix, sybase등의 다양한 외부 데이터베이스를 사용할 경우에 ODBC 를 통해 연결하여 독립적으로 프로그래밍을 할 수 있다. 연결 방법 OLE DB : 비 관계형 DB가 접근 ODBC : 관계형 DB가 접근 Set cn = New ADODB.Connection cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" _ & " Data Source=C:\VBDB\PhoneBookI.mdb" cn.Open
고급 데이터 베이스 작성하기 OLE DB 에 의한 연결 ODBC에 의한 연결 비 관계형 DB 연결 과 OLE DB를 지원하면 관계형 DB도 바로 연결 ***jet 3.xx 에진을 사용하여 Access 연결 /ms sql / oracle 연결 교재 : p358 참조 ODBC에 의한 연결 외부의 관계형 데이터베이스와 연결 연결 방법 ODBC 사용자 데이터 원본 연결하기 ODBC 드라이버 연결하기 ODBC 파일 데이터 원본으로 연결 Provider = Microsoft.Jet.OLEDB4.0; Data Source =데이터베이스 경로와 이름 Provider = SQLOLEDB; User ID = 사용자명; Password = 암호명; Data Source = 서버명 Provider = MSDAORA; User ID = 사용자명; Data Source =데이터베이스명
고급 데이터 베이스 작성하기 ODBC를 이용한 연결 실습 : P360 ODBC 사용자 데이터 원본으로 연결할 때 ODBC 사용자 데이터 원본으로 연결 사용자 DSN추가 ODBC 드라이버로 연결 ODBC 파일 데이터 원본으로 연결 ODBC 드라이버로 연결할 때 ODBC 파일 데이터 원본으로 연결할 때 cn.ConnectionString = “DSN = PhoneBookI_ODBC" cn.Open cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" _ & " Data Source=C:\VBDB\PhoneBookI.mdb" cn.Open cn.ConnectionString = “File Name=C:\vbdb\PhoneBook_UDL.udl” cn.Open
ADO 개체와 테이블 연결하기 데이터베이스 연결 데이터베이스와 테이블 연결 프로그램 과정 ADODB의 connection, Recordset 유형의 변수 선언 Connection 개체의 생성 및 생성된 개체의 connectionString 값 설정 Recordset 개체 생성 및 open 테이블 지정 Private cn As ADODB.Connection Private rs As ADODB.Recordset Set cn = New ADODB.Connection cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" _ & " Data Source=C:\VBDB\PhoneBookI.mdb" Set rs = New ADODB.Recordset rs.Open "Person", cn, adOpenStatic, adLockOptimistic rs.Open “테이블명", 연결 개체명, 커서형식, 레코드의 잠금 형식
ADO 개체와 테이블 연결하기 실습 :PhoneBookII .mdb 와 그 안에 든 Person 테이블을 연결하오 프로그램작성 교재: 372참조 ADODB의 connection, Recordset 유형의 변수 선언 폼이 로드되면 데이터베이스 PhoneBookI.mdb를 연결 하는 속성값을 정함 커맨드 버튼이 클릭되는 순간 레코드를 연결하여 데이터를 폼 화면으로 넘기는 역할 프로그램 종료시 Form_Unload()가 실행되어 connection과 Recordset을 닫고 데이터베이스와 연결을 차단
Ado 개체를 사용하여 데이터 조작하기 Ado 개체를 사용하여 데이터 조작하기 레코드의 이동 관련 메소드 실습 : EOF 사용하기 ( P381 참조) 실습 : 레코드 이동(P382 참조) 레코드 추가 /변경 : AddNewupdate 메소드 이용 실습: 레코드 추가/갱신 I/II(P388 /P392참조) MoveFirst 처음 레코드로 이동 MoveLast 마지막 레코드로 이동 MoveNext 다음 레코드로 이동 MovePrevious 이전 레코드로 이동 BOF 파일의 첫 부분 EOF 파일의 끝부분
Ado 개체를 사용하여 데이터 조작하기 레코드 정렬 : 특정 필드를 기준으로 정렬 Record.Sort 메서드 실행 순서 오름차순 정렬 : Recordset.Sort = “name ASC” 내림 차순 정렬 : Recordset.Sort = “name DESC” Record.Sort 메서드 실행 순서 Recorset.open Recordset.CursorLocation = adUserClient/adUserServer adUserClient : 정렬가능 adUserServer : 정렬 안됨 Record.set 실습 : 레코드 정렬 (p397 참조)
ADO 개체를 이용한 활용 실습 문제 DataGrid 의 데이터 조작 실습 문제 Data Grid에 데이터 추가/삭제 실습 : P402 참조 프로젝트 구성요소 microsoft datagrid control 6.0 (OLE DB) Data Grid에 데이터 추가/삭제 실습 : P411 참조 콤보 박스 주키와 외래키 연결하는 방법 주키와 외래키를 연결하지 않고 한 테이블의 데이터를 참조하여 다른 테이블로 넘기는 방법 실습 : p418 참조 관계형 두 테이블에 데이터 추가하기 실습 : p431 한테이블에서 다른 테이블로 참조하는 방법 실습 : 데이터 검색하기 (P439 참조) 살습 : 참조한 테이블의 데이터 추가하기(P445)