대부분의 책을 보면 DataSet 등과 같은 DB를 연결하기 위한 부분들이 코드로 직접 작성하는 부분이 많았던거 같다. 내가 지금 하고 있는 VS 2008 Beta 2 에서는 대부분 많은 부분 자동화가 되어 있는듯 하다. 아무래도 2005 이상 부터는 그런거 같은데..
간단하게 DB를 가져와서 Window Form에 연결하는 과정에 대해서 적어 보도록 한다.
기본적으로 SQL이 설치 되어 있고, Northwind DB가 있다고 가정하겠습니다.
Data Sources 창에서 추가하고 시작할때.
메뉴에서 Data를 선택하고 Show Data Sources 를 선택합니다.
선택하면 Data Sources 라는 창이 하나 보이게 됩니다.
Add New Data Source... 를 누르면 창이 하나 보이게 됩니다. 여기서 Database를 선택합니다.
New Connection... 을 누르면 창이 하나 뜨게 됩니다. 여기서 우리가 SQL DB를 사용하기 때문에 Change 를 누르고 Microsoft SQL Server (SqlClient) 를 선택하게 됩니다.
이렇게 하면 Server name가 나오게 됩니다. (단, 로컬에서 사용할때라면 컴퓨터 이름이 나오게 됩니다.)
Server name를 선택하고 Log on to the server 항목에서 Use SQL Server Authentication을 체크 하고 User name와 Password를 입력합니다.
Connect to a database 에서 Select or enter a database name를 Northwind로 선택하게 됩니다.
모두 성공적으로 처리가 되었는지를 알아 보기 위해서 Test Connection을 선택하면 메시지 박스가 뜨게 됩니다.
제대로 되었다면 아래와 같은 내용을 보실수 있을겁니다.
next를 눌러서 다음 화면으로 넘어 갑니다.
기본 이름을 사용하시거나 다른 이름을 지정하고 next를 다시 누릅니다.
해당 테이블을 선택할 수 있는 화면이 나오는데요.
여기서 해당 테이블을 선택하고 사용할 컬럼을 따로 선택할 수도 있습니다.
(여기까지는 별도 이미지 없음 ^^)
여기까지 되었다면. Data Srouces 라는 창에 NorthWindDataSet 라는 부분이 보이게 되며
Solution Explorer 의 화면에 NorthwindDataSet.xsd와 몇개의 파일이 하위 트리로 생성되게 됩니다.
위의 화면에서 NorthwindDataSet.xsd 를 클릭 하게 되면 중앙의 화면과 같이 나오게 됩니다.
중앙 화면의 Server Explorer 라는 부분을 클릭 하게 되면 Server Explorer이라는 창이 하나 보이게 되는데요 이전에 추가 했던 ***.Northwind.dbo 라는 부분이 보이게 됩니다.
여기서 해당 테이블을 중앙 화면으로 드래그 해서 추가해 주시면 됩니다.
사실 여기서 많은 방법이 있지만..
테이블을 추가 하고 나면 그 해당 테이블의 모든 정보가 화면에 드래그 되서 다 들어가게 됩니다. 이 부분에 대해서 부분적인 컬럼정보만 필요하다면 Data Sources 창에서 편집이 가능하며 다른 테이블을 가져와서 세부 연결해주는 것도 가능하게 됩니다.
(아.. 많은 부분 이미지 처리를 못하는게 좀 아쉽습니다. 용량 문제로 인해서.. -.-)
아래 화면은 필요한 부분만 편집해서 나온 최종 모습입니다.
이제 윈도우 폼을 배치 하고 해당 내용을 링크 시키는 부분만 남아 있습니다.
사실 여기서 윈도우 폼도 Data Sources 에 있는 내용을 그대로 드래그 해서 배치가 가능해 집니다. 참 편하게 변했죠 ^^.. 하지만 윈도우 폼이 기존에 있다고 가정하고 해보겠습니다.
이때 방법은 두가지로 나눠 집니다.
윈도우 폼에 드래그 해서 링크 시키는 방법과 Properties 창에서 직접 선택해서 넣는 방법으로 나눠 집니다.
위에서 보는 것과 같이 Title 부분에 TitleOfCourtesy라는 부분은 연결시키고 있습니다.
원래 있는 컨트롤에 가져 드래그 해서 가져 가게 되면 위와 같이 커서 모양이 생기게 됩니다.
아래는 직접 메뉴에서 선택한 부분입니다.
해당 컨트롤을 선택하고 DataBindings를 펼친후 Text 부분에서 해당 테이블의 컬럼을 선택해 주고 있습니다. 최초 선택시에는 Other Data Sources 라는 항목만 보이게 되지만 두번째 부터는 위와 같이 employeesBindingSource 라는 항목이 보이게 됩니다.
이 부분 말고도 DataSet 라는 것을 새로 추가 하면서 바로 바인딩이 가능해 지는 방법도 존재를 합니다. 물론 중간 과정들은 중복해서 나오게 되어 있습니다.
Access 파일을 사용할때도 같은 방법으로 바인딩이 가능해 집니다.
장황하게 설명 했지만 2005이상에서는 위와 같이 DB를 윈도우 폼에 연결하는 과정은 조금씩 편해 지는거 같습니다. 그 결과 세부적으로 제어 하는 코드가 어떻게 돌아 가는지 점점더 분석하기 어려워 지는건 아닌가 모르겠습니다.
지금 배우는 입장에서 조금씩 해보고 있는 중이라서 틀린 부분이 존재를 할지도 모르겠습니다. 위와 같이 구성해서 테스트해보면 바로 바인딩 되서 데이터 값이 보여 지는 것을 확인할 수 있습니다.
DB 부분을 새롭게 공부 하고 있거나 공부 내용들을 서로 공유 하고 싶으신 분은 댓글 부탁 드리구요. 잘못된 부분이 있거나 하다면 댓글로 수정 부탁 드립니다.
이상 ^^