다음을 통해 공유


.NET Framework 애플리케이션에서 TableAdapter를 사용하여 데이터베이스에 직접 액세스

비고

클래스 및 관련 클래스는 DataSet 2000년대 초반의 레거시 .NET Framework 기술로, 애플리케이션이 데이터베이스와 연결이 끊긴 동안 애플리케이션이 메모리의 데이터로 작업할 수 있도록 합니다. 이 기술은 사용자가 데이터를 수정하고 변경 내용을 데이터베이스에 다시 유지할 수 있도록 하는 앱에 특히 유용합니다. 데이터 세트는 입증된 성공적인 기술이지만 새 .NET 애플리케이션에 권장되는 방법은 Entity Framework Core를 사용하는 것입니다. Entity Framework는 테이블 형식 데이터를 개체 모델로 사용하는 보다 자연스러운 방법을 제공하며 더 간단한 프로그래밍 인터페이스를 제공합니다.

InsertCommand, UpdateCommand, DeleteCommand 외에도 TableAdapter는 데이터베이스에서 직접 실행할 수 있는 메서드를 사용하여 만듭니다. 이러한 메서드(TableAdapter.InsertTableAdapter.UpdateTableAdapter.Delete)를 호출하여 데이터베이스에서 직접 데이터를 조작할 수 있습니다.

이러한 직접 메서드를 만들지 않으려면 속성 창에서 TableAdapter의 GenerateDbDirectMethods 속성을 false 설정합니다. TableAdapter의 기본 쿼리 외에 TableAdapter에 추가된 쿼리는 이러한 DbDirect 메서드를 생성하지 않는 독립 실행형 쿼리입니다.

데이터베이스에 직접 명령 보내기

수행하려는 작업을 수행하는 TableAdapter DbDirect 메서드를 호출합니다.

데이터베이스에 직접 새 레코드를 삽입하려면

  • 각 열의 값을 매개 변수로 전달하여 TableAdapter의 Insert 메서드를 호출합니다. 다음 절차에서는 Northwind 데이터베이스의 테이블을 예로 사용합니다 Region .

    비고

    사용할 수 있는 인스턴스가 없는 경우 사용하려는 TableAdapter를 인스턴스화합니다.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

데이터베이스에서 직접 레코드를 업데이트하려면

  • 각 열에 대한 새 값과 원래 값을 매개 변수로 전달하여 TableAdapter의 Update 메서드를 호출합니다.

    비고

    사용할 수 있는 인스턴스가 없는 경우 사용하려는 TableAdapter를 인스턴스화합니다.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Update(1, "East", 1, "Eastern");
    

데이터베이스에서 직접 레코드를 삭제하려면

  • 각 열의 값을 메서드의 Delete 매개 변수로 전달하여 TableAdapter의 메서드를 Delete 호출합니다. 다음 절차에서는 Northwind 데이터베이스의 테이블을 예로 사용합니다 Region .

    비고

    사용할 수 있는 인스턴스가 없는 경우 사용하려는 TableAdapter를 인스턴스화합니다.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");