본문 바로가기

Languages/Visual Basic

Visual Basic DB - ADODC이용 실습 [1]

Visual Basic 6.0 ADODC 를 이용한 데이터베이스 연동하기 실습 (2009-03-12)



▲ [1] 최종적으로 위와 같은 모습으로 디자인합니다. 그리고 각 텍스트박스 및 레이블에 아래와 같이 설정합니다.

회원번호의 텍스트 박스 ID

I_id

회원이름의 텍스트 박스 ID

I_name

생년월일의 텍스트 박스 ID

I_dayofbirth

나이의 텍스트 박스 ID

I_age

직장전화의 텍스트 박스 ID

I_wphone

핸드폰번호의 텍스트 박스 ID

I_cphone

집전화의 텍스트 박스 ID

I_hphone

주소의 텍스트 박스 ID

I_address

회원가입일의 텍스트 박스 ID

I_inDate

회원만기일의 텍스트 박스 ID

I_vDate

취미의 텍스트 박스 ID

I_hobby

회원종류의 텍스트 박스 ID

I_mtype

체크박스 남자의 텍스트 박스 ID

I_chkMan

체크박스 여자의 텍스트 박스 ID

I_chkWomen

ADODC

ADODC의 ID

main_AdoDc

데이터그리드

데이터그리드의 ID

G_mainGrid





▲ [2] 처음으로 ADODC에 회원정보가 담겨있는 DB를 연결하기 위해 클릭합니다. 속성창을 봐야겠죠? ^^





▲ [3] ADODC의 속성 창을 보면 ConnectionString부분이 있습니다. 이곳을 클릭하시고, 오른쪽 ... 을 눌러주세요! ^^





▲ [4] 속성페이지에는 여러가지 연결을 지원하는 방법이 있습니다.

저는 연결 문자열 사용(C)으로 만들어 보도록 하겠습니다.





▲ [5] 연결할 공급자를 선택합니다. 사용할 데이터베이스에 따라 다양하게 선택이 가능합니다.

하지만, 저는 Microsoft Jet 4.0 OLE DB Provider 를 선택하고 다음>> 을 클릭합니다.





▲ [6] 데이터 연결 속성에서 1번을 확인하고 오른쪽끝에 ... 을 눌러서 추가할 데이터베이스를 추가 합니다.





▲ [7] 다음과 같이 경로가 올바르게 지정되고, 가능하면 연결 테스트를 시도하여 테스트 확인을 해보세요 ^^

끝나면 "확인"





▲ [8] 연결 문자열 사용이 성공적으로 입력됨을 확인하고, 확인 버튼을 누르고 빠져 나옵니다.





▲ [9] ADODC의 속성창을 다시 확인합니다. 공급자가 제대로 연결되었다면, 선택한 DB의 정보가 올바르게 담기게 됩니다.

RecordSource의 오른쪽 ... 을 누르면 아래와 같은 화면을 볼 수 있습니다.





▲ [10] 레코드 원본을 지정합니다. 우리는 2번 테이블을 선택합니다.





▲ [11] 테이블을 선택하면 하위의 박스에 테이블을 선택할 수 있습니다.

하나의 데이터베이스지만 여러개의 테이블이 존재할 수 있다는 것 아시죠?

지금 진행하는 데이터베이스에는 하나의 테이블 MEMBERS 만 존재합니다.





▲ [12] 이제 ADODC의 속성 설정이 끝나면, 데이터그리드의 속성설정을 위해 클릭합니다.





▲ [13] 마찬가지로 ADODC에 등록된 데이터 소스를 찾기 위해, 데이터그리드의 DataSource를 수정합니다.

오른쪽은 화살버튼을 누르면, 현재 등록가능한 ADODC를 확인할 수 있습니다.





▲ [14] 다음으로 각 텍스트 박스에 보여질 정보에 대한 데이터소스(DataSource)를 지정하기 위해 지정할 텍스트 박스를 선택합니다.





▲ [15] 마찬가지로 모든 텍스트 박스에도 DataSource 가 존재합니다.

이전에 데이터그리드에 적용할 때처럼, 동일하게 선택해주시면 됩니다.





▲ [16] 하나씩 하면 시간이 오래걸리겠죠? 이렇게 모두 선택해서 한꺼번에 등록도 가능합니다.



▲ [17] 이제 모든 텍스트 박스에 데이터소스를 지정했다면, 각 텍스트 박스에 맞는 필드도 지정해줘야 합니다.

그래야 나중에 데이터베이스에서 불러온 정보가 알맞게 들어가겠죠? ^^





▲ [18] 다음과 같이 DataField 를 해당 데이터베이스의 필드와 현재 텍스트 박스에 맞게 넣어줍니다.





▲ [19] 이제 성별 이벤트 및 기타 이벤트를 위해 코드보기를 합니다. 폼의 아무 곳에서 마우스 오른쪽 클릭->코드 보기(O)







▲ [20] 이제 각각의 이벤트의 맞게 이벤트 설정을 합니다. 우선 Form Load()이벤트를 작성해봅니다.





▲ [21] 위와 같이 위의 리스트 박스를 클릭하여 이벤트를 쉽게 추가할 수 있습니다.






▲ [22] 마찬가지로 데이터그리드의 클릭이벤트도 추가합니다.




▲ [23] 이쁘게 추가되었군요.





▲ [24] ADODC의 이벤트를 추가합니다. ADODC의 기본적인 이벤트는 WillMove 입니다.

따라서, 먼저 추가하고 난 후에, 변경해주셔야 합니다.





▲ [25] 오른쪽 리스트 박스를 클릭하면, 적용 가능한 이벤트가 보입니다. MoveComplete 를 클릭하여 추가합니다.





▲ [26] 기존에 작성된 WillMove는 삭제합니다. 안녕 -_ㅠ





▲ [27] 최종적으로 위와 같이 입력하면 됩니다. 코드에 대한 설명은 ... 할게 없네요 너무 쉽습니다.





▲ [28] 이 소스는 위의 이미지에서 잘려버린 MoveComplete에 대한 최종 소스 입니다.





▲ [29] 마지막으로 완성된 화면입니다. ADODC를 통해 불러온 데이터베이스의 데이터를 문제 없이 출력하고 있습니다.





▲ [30] 데이터그리드에 선택된 ROW에 따라서 성별이 변경됩니다.





▲ [31] 마찬가지!





▲ [32] 만약 ADODC 컨트롤러에서 가장 ROW의 처음 정보를 지나 계속 정보를 요청할 경우에는

BOF(Begin Of File)이벤트를 동작시켜, 경고 메세지를 출력하게 한 후, 젤 처음의 데이터가 있는 곳으로 이동 시킵니다.





▲ [33] 마찬가지로 EOF(End Of File) 이벤트를 등록하여 결과를 출력합니다.

# 32번과, 33번의 이벤트를 등록하지 않았을 경우에는 ADODC 컨트롤러에서 존재하지 않는 정보를 찾으려고

시도하게 될 경우, 컴파일 에러가 발생하게 됩니다.

- 끝 -