레코드 추가 또는 수정: 데이터 업데이트
업데이트: 2007년 11월
이 단원에서는 데이터 입력 폼을 만들어 로컬 데이터베이스의 데이터를 업데이트하는 방법을 배웁니다.
마지막 세 단원에서는 데이터베이스를 만들고 데이터베이스 파일을 프로젝트에 추가했으며 기본 사용자 인터페이스를 만들었습니다. 이미 알고 있는 것처럼 주소 데이터를 변경하고 새로운 레코드를 추가할 수도 있지만 프로그램을 닫았다가 다시 시작하면 변경 내용이 손실됩니다.
실제로 이 데이터는 데이터베이스 데이터의 복사본이며 로컬 DataSet에 저장되어 있습니다. DataSet는 프로그램이 시작될 때마다 데이터베이스에서 해당 데이터를 검색합니다. DataSet가 변경되어도 데이터베이스가 변경되는 것은 아닙니다.
AddressesDatGridView 컨트롤의 저장 단추를 클릭하면 모든 변경 내용이 DataSet에서 데이터베이스로 다시 복사됩니다. 사용자가 이따금 작업을 저장하는 것을 잊어버릴 수 있기 때문에 프로그램을 닫을 때 변경 내용을 데이터베이스에 자동으로 저장해 주는 코드를 추가합니다. 그러면 데이터 입력을 보다 손쉽게 수행할 수 있도록 사용자 인터페이스도 변경됩니다.
실습
로컬 데이터베이스 파일을 업데이트하려면
이전 단원에서 만든 Addresses 프로젝트를 엽니다. 이전 단원을 아직 완료하지 않은 경우 사용자에게 정보 표시: 사용자 인터페이스에 데이터 표시로 가서 단계를 완료합니다.
솔루션 탐색기에서 데이터베이스를 선택하고 출력 디렉터리로 복사 속성 값이 변경된 내용만 복사로 설정되었는지 확인합니다.
솔루션 탐색기에서 Form1을 선택한 다음 보기 메뉴에서 디자이너를 클릭합니다.
폼에서 AddressesDatGridView 컨트롤을 선택한 다음 삭제합니다.
솔루션 탐색기에서 데이터 소스 탭을 클릭합니다.
데이터 소스 창에서 Addresses 테이블을 선택한 다음 드롭다운 목록에서 자세히를 클릭합니다.
데이터 소스 창에서 새 폼으로 Addresses 노드를 끌어 옵니다.
테이블의 각 필드에 TextBox 컨트롤 및 필드를 설명하는 Label 컨트롤이 추가됩니다.
폼을 두 번 클릭하여 코드 편집기를 엽니다.
이벤트 드롭다운 목록에서 FormClosing을 클릭합니다.
Form1_FormClosing 이벤트 처리기에서 다음 코드를 입력합니다.
Me.AddressesBindingSource.EndEdit() Me.AddressesTableAdapter.Update(Me.FirstDatabaseDataSet.Addresses)
이 코드를 사용하면 AddressesTableAdapter가 데이터 집합의 모든 변경 내용을 다시 로컬 데이터베이스에 복사합니다.
F5 키를 눌러 프로그램을 실행합니다.
데이터의 일부를 변경하거나 새 레코드를 추가한 다음 폼을 닫습니다.
F5 키를 다시 누릅니다. 변경 내용이 저장되었을 것입니다.
이 단원에서는 데이터베이스를 업데이트하는 방법을 배웠습니다. 다음 단원에서는 샘플 데이터베이스에 연결하여 관련 데이터를 폼에 표시하는 방법을 배웁니다.
다음 단원: 관련 데이터 표시