Share via


연습: TableAdapter DBDirect 메서드를 사용하여 데이터 저장

이 연습에서는 TableAdapter의 DBDirect 메서드를 사용하여 데이터베이스에 대해 직접 SQL 문을 실행하기 위한 자세한 지침을 제공합니다. TableAdapter의 DBDirect 메서드는 데이터베이스 업데이트를 세밀하게 제어합니다. 이 메서드를 사용하면 응용 프로그램의 필요에 따라 개별 Insert, Update 및 Delete 메서드를 호출하여 특정 SQL 문과 저장 프로시저를 실행할 수 있습니다(한 번의 호출로 UPDATE, INSERT 및 DELETE 문 모두를 수행할 수 있는 오버로드된 Update 메서드와 반대의 의미).

이 연습을 통해 다음과 같은 작업 방법을 배웁니다.

  • Windows 응용 프로그램을 만듭니다.

  • 데이터 소스 구성 마법사를 사용하여 데이터 집합을 만들고 구성합니다.

  • 데이터 소스 창에서 항목을 끌어 올 때 폼에 만들 컨트롤을 선택합니다. 자세한 내용은 방법: 데이터 소스 창에서 끌어 올 때 만들 컨트롤 설정을 참조하십시오.

  • 데이터 소스 창에서 폼으로 항목을 끌어 와 데이터 바인딩된 컨트롤을 만듭니다.

  • 메서드를 추가하여 데이터베이스에 직접 액세스하고 데이터베이스에 대해 삽입, 업데이트 및 삭제 작업을 직접 수행합니다.

사전 요구 사항

이 연습을 완료하려면 다음과 같은 요건이 필요합니다.

Windows 응용 프로그램 만들기

첫 단계에서는 Windows 응용 프로그램을 만듭니다.

새 Windows 프로젝트를 만들려면

  1. Visual Studio의 파일 메뉴에서 새 프로젝트를 만듭니다.

  2. 프로젝트 이름을 TableAdapterDbDirectMethodsWalkthrough로 지정합니다.

  3. Windows 응용 프로그램을 선택하고 확인을 클릭합니다. 자세한 내용은 Windows 기반 응용 프로그램 만들기를 참조하십시오.

    TableAdapterDbDirectMethodsWalkthrough 프로젝트가 만들어져 솔루션 탐색기에 추가됩니다.

데이터베이스에서 데이터 소스 만들기

이 단계에서는 Northwind 샘플 데이터베이스의 Region 테이블을 기반으로 데이터 소스 구성 마법사를 사용하여 데이터 소스를 만듭니다. 연결을 만들려면 Northwind 샘플 데이터베이스에 액세스할 수 있는 권한이 있어야 합니다. Northwind 샘플 데이터베이스 설치에 대한 자세한 내용은 방법: 샘플 데이터베이스 설치를 참조하십시오.

데이터 소스를 만들려면

  1. 데이터 메뉴에서 데이터 소스 표시를 클릭합니다.

  2. 데이터 소스 창에서 새 데이터 소스 추가를 선택하여 데이터 소스 구성 마법사를 시작합니다.

  3. 데이터 소스 형식 선택 페이지에서 데이터베이스를 선택하고 다음을 클릭합니다.

  4. 데이터 연결 선택 페이지에서 다음 중 하나를 수행합니다.

    • Northwind 샘플 데이터베이스에 대한 데이터 연결이 드롭다운 목록에 표시되면 해당 연결을 선택합니다.

      또는

    • 새 연결을 선택하여 연결 추가/수정 대화 상자를 시작합니다. 자세한 내용은 연결 추가/수정 대화 상자(일반)를 참조하십시오.

  5. 데이터베이스에 암호가 필요하면 중요한 데이터를 포함하는 옵션을 선택하고 다음을 클릭합니다.

  6. 응용 프로그램 구성 파일에 연결 문자열 저장 페이지에서 다음을 클릭합니다.

  7. 데이터베이스 개체 선택 페이지에서 테이블 노드를 확장합니다.

  8. Region 테이블을 선택한 다음 마침을 클릭합니다.

    NorthwindDataSet이 프로젝트에 추가되고 Region 테이블이 데이터 소스 창에 나타납니다.

데이터 표시를 위한 폼에 컨트롤 추가

데이터 소스 창에서 폼으로 항목을 끌어 와 데이터 바인딩된 컨트롤을 만듭니다.

Windows Form에 데이터 바인딩된 컨트롤을 만들려면

개별 TableAdapter DbDirect 메서드를 호출할 단추를 추가하려면

  1. 세 개의 Button 컨트롤을 도구 상자에서 Form1(RegionDataGridView 아래)으로 끌어 놓습니다.

  2. 각 단추에서 다음 이름텍스트 속성을 설정합니다.

    Name

    Text

    InsertButton

    Insert

    UpdateButton

    Update

    DeleteButton

    Delete

데이터베이스에 새 레코드를 삽입하는 코드를 추가하려면

  1. InsertButton을 두 번 클릭하여 클릭 이벤트에 대한 이벤트 처리기를 만들고 코드 편집기에서 폼을 엽니다.

  2. InsertButton_Click 이벤트 처리기를 다음 코드로 바꾸십시오.

    Private Sub InsertButton_Click() Handles InsertButton.Click
    
        Dim newRegionID As Integer = 5
        Dim newRegionDescription As String = "NorthEastern"
    
        Try
            RegionTableAdapter1.Insert(newRegionID, newRegionDescription)
    
        Catch ex As Exception
            MessageBox.Show("Insert Failed")
        End Try
    
        RefreshDataset()
    End Sub
    
    
    Private Sub RefreshDataset()
        Me.RegionTableAdapter1.Fill(Me.NorthwindDataSet1._Region)
    End Sub
    
    private void InsertButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        String newRegionDescription = "NorthEastern";
    
        try
        {
            regionTableAdapter1.Insert(newRegionID, newRegionDescription);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Insert Failed");
        }
        RefreshDataset();
    }
    
    
    private void RefreshDataset()
    {
        this.regionTableAdapter1.Fill(this.northwindDataSet1.Region);
    }
    

데이터베이스의 레코드를 업데이트하는 코드를 추가하려면

  1. UpdateButton을 두 번 클릭하여 클릭 이벤트에 대한 이벤트 처리기를 만들고 코드 편집기에서 폼을 엽니다.

  2. UpdateButton_Click 이벤트 처리기를 다음 코드로 바꾸십시오.

    Private Sub UpdateButton_Click() Handles UpdateButton.Click
    
        Dim newRegionID As Integer = 5
    
        Try
            RegionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern")
    
        Catch ex As Exception
            MessageBox.Show("Update Failed")
        End Try
    
        RefreshDataset()
    End Sub
    
    private void UpdateButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
    
        try
        {
            regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Update Failed");
        }
        RefreshDataset();
    }
    

데이터베이스에서 레코드를 삭제하는 코드를 추가하려면

  1. DeleteButton을 두 번 클릭하여 클릭 이벤트에 대한 이벤트 처리기를 만들고 코드 편집기에서 폼을 엽니다.

  2. DeleteButton_Click 이벤트 처리기를 다음 코드로 바꾸십시오.

    Private Sub DeleteButton_Click() Handles DeleteButton.Click
    
        Try
            RegionTableAdapter1.Delete(5, "Updated Region Description")
    
        Catch ex As Exception
            MessageBox.Show("Delete Failed")
        End Try
    
        RefreshDataset()
    End Sub
    
    private void DeleteButton_Click(object sender, EventArgs e)
    {
        try
        {
            regionTableAdapter1.Delete(5, "Updated Region Description");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Delete Failed");
        }
        RefreshDataset();
    }
    

응용 프로그램 실행

응용 프로그램을 실행하려면

  • F5 키를 눌러 응용 프로그램을 실행합니다.

  • 삽입 단추를 클릭하여 새 레코드가 표에 나타나는지 확인합니다.

  • 업데이트 단추를 클릭하여 레코드가 표에서 업데이트되는지 확인합니다.

  • 삭제 단추를 클릭하여 레코드가 표에서 삭제되는지 확인합니다.

다음 단계

응용 프로그램 요구 사항에 따라 데이터 바인딩된 폼을 만든 후 몇 단계를 더 수행해야 할 수도 있습니다. 이 연습에서 보완할 수 있는 사항은 다음과 같습니다.

참고 항목

작업

방법: TableAdapter를 사용하여 데이터베이스에 직접 액세스

방법: TableAdapter 쿼리 만들기

방법: 개체에서 데이터베이스로 데이터 저장

개념

TableAdapter 개요

Visual Studio에서 데이터에 Windows Forms 컨트롤 바인딩

Visual Studio에서 데이터에 컨트롤 바인딩

기타 리소스

Visual Studio에서 데이터에 연결

데이터를 받기 위해 응용 프로그램 준비

데이터를 응용 프로그램으로 페치

응용 프로그램에서 데이터 편집

데이터 유효성 검사

데이터 저장