다음을 통해 공유


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

비고

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

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

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

비고

매개 변수가 있는 쿼리를 생성할 때 코딩하는 데이터베이스와 관련된 매개 변수 표기법을 사용합니다. 예를 들어 Access 및 OleDb 데이터 원본은 물음표 '?'를 사용하여 매개 변수를 나타내므로 절은 WHERE 다음과 WHERE City = ?같습니다.

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

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

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

    또는

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

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

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

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

  3. 검색 조건 작성기 대화 상자를 완료하고 원하는 매개 변수가 있는 WHERE 절을 SQL 문에 추가합니다.

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

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

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

    비고

    데이터 메뉴에서 쿼리 추가를 사용할 수 없는 경우 매개 변수화를 추가할 데이터 원본을 표시하는 폼의 컨트롤을 선택합니다. 예를 들어 폼에 DataGridView 컨트롤에 데이터가 표시되면 선택하십시오. 양식에 개별 컨트롤의 데이터가 표시되면 데이터 바인딩된 컨트롤을 선택합니다.

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

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

    또는

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

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

  6. 확인을 선택합니다.

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

null 값 쿼리

현재 값이 없는 레코드를 쿼리하려는 경우 TableAdapter 매개 변수에 null 값을 할당할 수 있습니다. 예를 들어, ShippedDate 매개 변수가 있는 WHERE 절의 다음 쿼리를 고려해 보십시오.

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.로 설정합니다.