비고
클래스 및 관련 클래스는 DataSet 2000년대 초반의 레거시 .NET Framework 기술로, 애플리케이션이 데이터베이스와 연결이 끊긴 동안 애플리케이션이 메모리의 데이터로 작업할 수 있도록 합니다. 이 기술은 사용자가 데이터를 수정하고 변경 내용을 데이터베이스에 다시 유지할 수 있도록 하는 앱에 특히 유용합니다. 데이터 세트는 입증된 성공적인 기술이지만 새 .NET 애플리케이션에 권장되는 방법은 Entity Framework Core를 사용하는 것입니다. Entity Framework는 테이블 형식 데이터를 개체 모델로 사용하는 보다 자연스러운 방법을 제공하며 더 간단한 프로그래밍 인터페이스를 제공합니다.
TableAdapters를 사용하면 애플리케이션과 데이터베이스 간의 통신이 가능합니다. 데이터베이스에 연결하고, 쿼리 또는 저장 프로시저를 실행하고, 새 데이터 테이블을 반환하거나, 반환된 데이터로 기존 클래스 인스턴스를 DataTable 채웁니다. TableAdapters는 애플리케이션에서 데이터베이스로 업데이트된 데이터를 다시 보낼 수도 있습니다.
TableAdapters는 다음 작업 중 하나를 수행할 때 만들어집니다.
서버 탐색기에서 데이터 세트 디자이너로 데이터베이스 개체를 끌어옵니다.
TableAdapter
도구 상자에서 데이터 세트 디자이너 화면의 빈 영역으로 개체를 끌어서 데이터 원본을 구성합니다.데이터 원본 구성 마법사를 실행하고 데이터베이스 또는 웹 서비스 데이터 원본 유형을 선택합니다.
TableAdapters에 대한 소개는 TableAdapters를 사용하여 데이터 세트 채우기를 참조하세요.
필수 조건
이 문서의 절차를 완료하려면 다음 필수 조건을 충족해야 합니다.
- 비주얼 스튜디오. 지금 Visual Studio를 다운로드합니다.
비고
이 문서의 지침은 Visual Studio에서 사용할 수 있는 IDE(대화형 개발 환경)의 최신 버전을 보여 줍니다. 컴퓨터에 일부 사용자 인터페이스 요소에 대한 다른 이름 또는 위치가 표시될 수 있습니다. 다른 버전의 Visual Studio 또는 다른 환경 설정을 사용할 수 있습니다. 자세한 내용은 IDE 개인 설정참조하세요.
TableAdapter 구성 마법사에 액세스합니다.
TableAdapter 구성 마법사를 사용하여 새 TableAdapters를 만들거나 기존 인스턴스를 편집하고 연결된 데이터 테이블을 구성할 수 있습니다.
마법사를 사용하여 기존 TableAdapter를 구성하려면 데이터 세트 디자이너 에서 TableAdapter 인스턴스를 마우스 오른쪽 단추로 클릭하고 구성을 선택합니다.
새 TableAdapter를 생성하려면 마법사를 사용하여
TableAdapter
개체를 도구 상자에서 데이터 세트 디자이너 화면의 빈 영역으로 끌어 놓습니다.
마법사 사용
TableAdapter 구성의 경우 TableAdapter 구성 마법사는 다음 작업을 안내합니다.
TableAdapter에 필요한 설정을 구성합니다.
TableAdapter 연결에 대한 데이터 원본 형식을 지정합니다.
데이터베이스와의 통신에 사용할 명령(SQL 문 또는 저장 프로시저)을 식별합니다. TableAdapter가 데이터 원본과 이미 연결되어 있는 경우 마법사에 이 옵션이 표시되지 않습니다.
필요에 따라 저장 프로시저를 만듭니다.
데이터베이스에 대한 올바른 권한이 있는 경우 기본 데이터베이스에 새 저장 프로시저를 만듭니다. 필요한 권한이 없는 경우 마법사에서 이 옵션을 사용할 수 없습니다.
필요에 따라 기존 저장 프로시저를 실행합니다.
TableAdapter의 SELECT, INSERT, UPDATE 및 DELETE 명령에 대한 프로시저를 사용할 수 있습니다. 예를 들어 UPDATE 명령에 할당된 저장 프로시저는 메서드를 호출
TableAdapter.Update()
할 때 실행됩니다.선택한 저장 프로시저의 매개 변수를 데이터 테이블의 해당 열에 매핑합니다. 예를 들어 저장 프로시저가
@CompanyName
이라는 매개 변수를 수락하고 이를 데이터 테이블의CompanyName
열에 전달하는 경우,@CompanyName
매개 변수의 원본 열을CompanyName
로 설정합니다.비고
SELECT 명령의 경우 저장 프로시저는 기본적으로 TableAdapter
Fill
메서드를 호출할 때 실행됩니다. 마법사의 후속 페이지에서 Fill() 메서드의 이름을 지정 합니다. 기본 메서드를 사용하는 경우 SELECT 명령에 대한 저장 프로시저를 실행하는 일반적인 코드는 다음과 입니다TableAdapter.Fill(<TableName>)
. 부분을<TableName>
데이터 테이블의 이름으로 바꿉다.기본 메서드 이름을
Fill
변경하는 경우 프로시저의 코드를 업데이트해야 합니다.Fill
새 메서드 이름으로 바꾸고 TableAdapter의 실제 이름을 사용합니다. 예를 들어, TableAdapter의 이름이CustomersTableAdapter
이고 데이터 테이블의 이름이CustomersTable
인 경우, 메서드 이름을Fill
에서AddData
로 변경하면 코드를CustomersTableAdapter.AddData(CustomersTable)
로 업데이트합니다.- Create 메서드가 데이터베이스 옵션에 직접 업데이트를 보낼 수 있도록 설정할지 여부를 선택합니다. 이 옵션을 사용하면 속성을 true로 설정하는
GenerateDBDirectMethods
것과 같습니다. 원래 SQL 문이 충분한 정보를 제공하지 않거나 쿼리가 업데이트 가능한 쿼리가 아닌 경우 이 옵션을 사용할 수 없습니다. 예를 들어 JOIN 쿼리 및 기타 쿼리가 단일(스칼라) 값을 반환하는 경우입니다.
- Create 메서드가 데이터베이스 옵션에 직접 업데이트를 보낼 수 있도록 설정할지 여부를 선택합니다. 이 옵션을 사용하면 속성을 true로 설정하는
고급 옵션에 대한 기본 설정을 구성합니다.
SQL 문 생성 페이지에 정의된 SELECT 명령을 기반으로 INSERT, UPDATE 및 DELETE 명령을 생성합니다.
낙관적 동시성을 사용하세요.
INSERT 및 UPDATE 명령이 실행된 후 데이터 테이블을 새로 고칩니다.
TableAdapter.Fill() 메서드 구성
일부 시나리오에서는 TableAdapter 데이터 테이블의 스키마를 변경할 수 있습니다. 작업을 완료하려면 TableAdapter의 기본 메서드를 수정합니다 Fill
. TableAdapters는 연결된 데이터 테이블의 스키마를 정의하는 기본 Fill
메서드를 사용하여 만들어집니다. 기본 Fill
메서드는 원래 TableAdapter를 구성할 때 입력한 쿼리 또는 저장 프로시저를 기반으로 합니다. 데이터 세트 디자이너의 데이터 테이블 아래에 있는 첫 번째(맨 위) 메서드입니다.
TableAdapter의 기본 Fill
메서드에 대한 변경 내용은 연결된 데이터 테이블의 스키마에 반영됩니다. 예를 들어 main Fill
메서드의 쿼리에서 열을 제거하면 연결된 데이터 테이블에서 열도 제거됩니다. 또한 main Fill
메서드에서 열을 제거하면 해당 TableAdapter에 대한 추가 쿼리에서 열이 제거됩니다.
TableAdapter 쿼리 구성 마법사를 사용하여 TableAdapter에 대한 추가 쿼리를 만들고 편집할 수 있습니다. 이러한 추가 쿼리는 스칼라 값을 반환하지 않는 한 테이블 스키마를 준수해야 합니다. 각 추가 쿼리에는 사용자가 지정한 이름이 있습니다.
다음 예제에서는 다음과 같은 추가 FillByCity
쿼리를 호출하는 방법을 보여줍니다.
CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")
마법사를 사용하여 쿼리 만들기
다음 단계에 따라 TableAdapter 쿼리 구성 마법사 를 사용하여 새 쿼리를 만들 수 있습니다.
데이터 세트 디자이너에서 데이터 세트를 여세요.
다음 작업 중 하나를 사용하여 새 쿼리를 만듭니다.
- 데이터 세트 디자이너에서 TableAdapter를 마우스 오른쪽 단추로 클릭하고 쿼리 추가를 선택합니다.
-
도구 상자의
Query
데이터 세트 탭에서 데이터 세트 디자이너 화면으로 개체를 DataTable 끕니다. - 개체를
Query
도구 상자 에서 데이터 세트 디자이너 화면의 빈 영역으로 끌어다 놓으면 연결되지 DataTable않은 TableAdapter가 만들어집니다.
이러한 쿼리는 단일(스칼라) 값만 반환하거나 데이터베이스에 대해 UPDATE, INSERT 또는 DELETE 명령을 실행할 수 있습니다.
데이터 연결 선택 화면에서 기존 연결을 선택하거나 쿼리에 대한 새 연결을 만듭니다.
비고
이 화면은 디자이너가 사용할 연결을 확인할 수 없거나 사용 가능한 연결이 없는 경우에만 표시됩니다.
명령 유형 선택 화면에서 데이터베이스에서 데이터를 가져오는 다음 방법 중에서 선택하여 명령을 구성합니다.
SQL 문 사용: SQL 문을 입력하여 데이터베이스에서 데이터를 선택합니다.
새 저장 프로시저 만들기: 마법사는 지정된 SELECT 명령에 따라 데이터베이스에 새 저장 프로시저를 만듭니다.
기존 저장 프로시저 사용: 쿼리를 실행할 때 기존 저장 프로시저를 실행합니다.
마법사를 사용하여 쿼리 구성
TableAdapter 쿼리 구성 마법사를 사용하여 기존 TableAdapter 쿼리를 편집하려면 쿼리를 마우스 오른쪽 단추로 클릭하고 구성을 선택합니다. 마우스 오른쪽 단추 클릭 작업은 선택한 쿼리 유형에 따라 다른 결과를 생성합니다.
TableAdapter의 기본 쿼리의 경우 TableAdapter와 스키마가 DataTable 모두 다시 구성됩니다.
TableAdapter의 추가 쿼리에서는 선택한 쿼리만 다시 구성됩니다.
TableAdapter 구성 마법사는 TableAdapter 정의를 다시 구성하고 TableAdapter 쿼리 구성 마법사는 선택한 쿼리만 다시 구성합니다.
TableAdapter에 전역 쿼리 추가
전역 쿼리는 단일(스칼라) 값을 반환하거나 값을 반환하지 않는 SQL 쿼리입니다. 일반적으로 전역 함수는 삽입, 업데이트 및 삭제와 같은 데이터베이스 작업을 수행합니다. 또한 테이블의 고객 수 또는 특정 주문의 모든 항목에 대한 총 요금과 같은 정보를 집계합니다.
도구 상자의
Query
데이터 세트 탭에서 데이터 세트 디자이너 화면의 빈 영역으로 개체를 끌어 전역 쿼리를 추가합니다.와 같은
SELECT COUNT(*) AS CustomerCount FROM Customers
특정 작업을 수행하는 쿼리를 입력합니다.비고
개체를
Query
데이터 세트 디자이너 화면으로 직접 끌면 스칼라(단일) 값만 반환하는 메서드가 만들어집니다. 선택한 쿼리 또는 저장 프로시저가 둘 이상의 값을 반환할 수 있지만 마법사에서 만든 메서드는 단일 값만 반환합니다. 예를 들어 쿼리는 반환된 데이터의 첫 번째 행의 첫 번째 열을 반환할 수 있습니다.
관련 콘텐츠
- TableAdapters 사용하여 데이터 세트 채우기
- DataTable 클래스
- DataSet 클래스