.NET Framework 애플리케이션에서 매개 변수가 있는 TableAdapter 쿼리 만들기

참고 항목

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

매개 변수가 있는 쿼리는 쿼리의 WHERE 절 조건을 충족하는 데이터를 반환합니다. 예를 들어 고객 목록을 반환하는 SQL 문 끝에 WHERE City = @City를 추가하여 특정 구/군/시의 고객만 표시하도록 고객 목록을 매개 변수화할 수 있습니다.

매개 변수가 있는 TableAdapter 쿼리는 데이터 세트 디자이너에서 만듭니다. 데이터 메뉴의 데이터 소스 매개 변수화 명령을 사용하여 Windows 애플리케이션에서 만들 수도 있습니다. 데이터 원본 매개 변수화 명령은 매개 변수 값을 입력하고 쿼리를 실행할 수 있는 컨트롤을 양식에서 만듭니다.

참고 항목

매개 변수가 있는 쿼리를 생성하는 경우 코딩 대상 데이터베이스에 관련된 매개 변수 표기법을 사용합니다. 예를 들어 Access 및 OleDb 데이터 소스는 물음표 '?'를 사용하여 매개 변수를 표기하므로 WHERE 절은 WHERE City = ?와 같습니다.

매개 변수가 있는 TableAdapter 쿼리 만들기

데이터 세트 디자이너에서 매개 변수가 있는 쿼리를 만들려면

  • 원하는 매개 변수가 포함된 WHERE 절을 SQL 문에 추가하여 새 TableAdapter를 만듭니다. 자세한 내용은 TableAdapter 만들기 및 구성을 참조하세요.

    또는

  • 원하는 매개 변수가 포함된 WHERE 절을 SQL 문에 추가하여 기존 TableAdapter에 쿼리를 추가합니다.

데이터 바인딩된 폼을 디자인하면서 매개 변수가 있는 쿼리를 만들려면

  1. 데이터 세트에 이미 바인딩되어 있는 폼의 컨트롤을 선택합니다. 자세한 내용은 Visual Studio에서 데이터에 Windows Forms 컨트롤 바인딩을 참조하세요.

  2. 데이터 메뉴에서 쿼리 추가를 선택합니다.

  3. 원하는 매개 변수가 포함된 WHERE 절을 SQL 문에 추가하여 검색 조건 작성기 대화 상자에서 필요한 작업을 완료합니다.

기존 데이터 바인딩된 폼에 쿼리를 추가하려면

  1. Windows Forms 디자이너에서 폼을 엽니다.

  2. 데이터 메뉴에서 쿼리 추가 또는 데이터 스마트 태그를 선택합니다.

    참고 항목

    데이터 메뉴에서 쿼리 추가를 사용할 수 없는 경우 매개 변수화를 추가할 데이터 소스가 표시되어 있는 폼의 컨트롤을 선택합니다. 예를 들어 폼의 DataGridView 컨트롤에 데이터가 표시되는 경우 해당 컨트롤을 선택합니다. 폼의 개별 컨트롤에 데이터가 표시되는 경우에는 데이터 바인딩된 컨트롤을 선택합니다.

  3. 데이터 소스 테이블 선택 영역에서 매개 변수화를 추가할 테이블을 선택합니다.

  4. 새 쿼리를 만드는 경우 새 쿼리 이름 상자에 이름을 입력합니다.

    또는

    기존 쿼리 이름 상자에서 쿼리를 선택합니다.

  5. 쿼리 텍스트 상자에 매개 변수를 사용하는 쿼리를 입력합니다.

  6. 확인을 선택합니다.

    매개 변수를 입력하기 위한 컨트롤과 로드 단추가 ToolStrip 컨트롤의 폼에 추가됩니다.

Null 값 쿼리

현재 값이 없는 레코드를 쿼리하려는 경우 TableAdapter 매개 변수에 null 값이 할당될 수 있습니다. 예를 들어, WHERE 절에 ShippedDate 매개 변수가 있는 다음 쿼리를 살펴봅니다.

SELECT CustomerID, OrderDate, ShippedDate
FROM Orders
WHERE (ShippedDate = @ShippedDate) OR (ShippedDate IS NULL)

TableAdapter에 대한 쿼리인 경우 다음 코드와 함께 제공되지 않는 모든 주문을 쿼리할 수 있습니다.

ordersTableAdapter.FillByShippedDate(northwindDataSet.Orders, null);

쿼리에서 null 값을 허용하도록 설정하려면:

  1. 데이터 세트 디자이너에서 null 매개 변수 값을 허용해야 하는 TableAdapter 쿼리를 선택합니다.

  2. 속성 창에서 매개 변수를 선택한 다음, 줄임표(...) 버튼을 선택하여 매개 변수 컬렉션 편집기를 엽니다.

  3. Null 값을 허용하는 매개 변수를 선택하고 AllowDbNull 속성을 true로 설정합니다.