! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

저장 프로시저 및 매개 변수를 사용한 C# .NET 보고서 데이터 바인딩 > 블로그 & Tips

본문 바로가기

ActiveReports.NET

블로그 & Tips

저장 프로시저 및 매개 변수를 사용한 C# .NET 보고서 데이터 바인딩

페이지 정보

작성자 MESCIUS 작성일 2023-12-21 09:09 조회 58회 댓글 0건

본문

데이터 바인딩은 보고서 또는 소프트웨어의 프런트엔드 디자인과 데이터 소스 간에 연결을 설정하는 프로세스입니다.


보고서의 경우에는 새 보고서를 만들 때 일반적으로 이 프로세스를 가장 먼저 실행해야 합니다.

이 문서에서는 C# .NET 보고서 응용 프로그램의 데이터 바인딩에 대해 설명합니다.


장 프로시저를 데이터 집합으로 사용하는 방법과 일반 SQL 데이터 테이블에 바인딩하는 방법을 살펴봅니다.


ActiveReports.NETEnd User Designer를 사용한 데이터 바인딩을 설명하겠습니다.


초보자 및 숙련된 개발자 모두 이 가이드를 통해 C# .NET 응용 프로그램에서의 데이터 바인딩에 대해 알아보고 데이터 바인딩 지식을 얻을 수 있습니다.


예를 따라 하려면 NorthWind 샘플 데이터베이스를 다운로드해 주세요.


📌 참고 시스템에 SQL이 아직 없는 경우 서버를 설치하고, SQL 서버 구성 관리자를 설정해야 합니다.
또한 아래의 스크립트를 실행하여, 사용할 저장 프로시저를 NorthWind 데이터베이스에 추가해야 합니다.

먼저 ActiveReports End User Designer를 실행하겠습니다.


시작으로 이동하여 'ActiveReports'를 검색하고 'ActiveReports Designer'를 선택합니다.


 

시나리오 1


저장 프로시저 및 매개 변수를 사용하여 C# .NET 보고서에서 데이터를 바인딩하는 방법


저장 프로시저를 사용한 데이터 바인딩의 예를 살펴보겠습니다.


이러한 단계의 대부분은 사용하는 데이터 소스의 유형 및 포함된 데이터에 따라 달라지기 때문에 사용자 측에서 똑같지는 않습니다.


하지만 일반 프로세스를 이해하는 데 큰 도움이 될 것입니다.

 

1) 데이터 소스 및 저장 프로시저 설정


End User Designer를 연 상태에서, 먼저 데이터 소스 연결을 추가합니다.


로컬 시스템에 있는 SQL 서버를 사용하여 NorthWind 데이터베이스에 바인딩하겠습니다.

  1. 보고서 탐색기에 있는 데이터 소스를 마우스 오른쪽 버튼으로 클릭하고 데이터 소스 추가를 선택합니다.

  2. 사용하는 데이터 소스의 종류에 따라 달라지기 때문에 사용자 측에서는 다른 단계를 따라야 할 수도 있습니다. 이 예에서는 다음을 실행합니다.

    • 유형으로 Microsoft SQL 클라이언트 공급자를 선택합니다.
    • 서버 이름으로 (local)을 선택합니다.
    • '데이터베이스 이름 선택 또는 입력:'에서 로컬로 설치한 NWind 데이터베이스를 선택합니다.

    C# .NET 보고서 데이터 바인딩


    데이터 연결을 추가한 후 StoredProcedure라는 이름을 지정할 것입니다.

    이름을 지정하면, 매개 변수를 위해 나중에 추가할 두 번째 데이터 집합과 혼동되지 않습니다.


    또한 명령 유형이 StoredProcedure로 설정되어 있는지 확인해야 합니다.

    1. 방금 추가한 데이터 소스를 마우스 오른쪽 버튼으로 클릭하고 데이터 집합 추가를 선택합니다.

    2. 이름을 StoredProcedure로 설정합니다.

    3. 사이드 탐색 모음의 쿼리 탭을 클릭합니다.

    4. 명령 유형을 StoredProcedure(또는 다른 이름을 사용한 경우 방금 만든 데이터 집합의 이름)로 변경합니다.

    5. 쿼리로 dbo.USP_CustomerDetails를 입력합니다. 이 단계는 여러분의 특정 상황에 따라 달라집니다.

    C# .NET 보고서 데이터 바인딩


    저장 프로시저는 고객 데이터 테이블에서 특정 필드를 가져와 City 매개 변수를 기준으로 필터링합니다.

    C# .NET 보고서 데이터 바인딩


    테스트 목적으로 특정 도시 값을 저장 프로시저에 직접 전달하겠습니다.

    1. 사이드 탐색 메뉴의 매개 변수 탭을 클릭합니다.

    2. City 매개 변수를 선택합니다.

    3. 값을 London으로 설정합니다.

    C# .NET 보고서 데이터 바인딩


    다음으로, 저장 프로시저의 데이터를 표시하기 위해 디자인 화면에 테이블을 추가합니다.

    1. 컨트롤 목록에서 테이블 컨트롤을 드래그하여 디자인 화면에 놓습니다.

    2. 표시할 데이터 집합의 각 필드를 테이블의 열에 식의 형태로 추가합니다. 이번 블로그의 경우 아래와 같습니다.

      • =[CustomerID], =[ContactName], and =[City]
      • 참고: 필드를 직접 입력하거나 데이터 집합 아래 목록에서 바로 드래그 앤 드롭 할 수 있습니다.


      테이블이 채워지면 다음과 같은 모습이 됩니다.

      C# .NET 보고서 데이터 바인딩


      이제 보고서를 미리 보면, 위 테이블에서 추가한 필드의 각 값이 표시됩니다.


      이전에 City 매개 변수를 London으로 설정했기 때문에 London의 값만 표시됩니다.

      C# .NET 보고서 데이터 바인딩


       

      2) 매개 변수 생성 


      다음으로, 사용자에게 고유한 도시 목록을 제공하고 이를 저장 프로시저에 전달하려고 합니다.


      해당 매개 변수를 위한 다른 데이터 집합을 만듭니다.


      다음과 같이 Customers 데이터 테이블에서 고유 도시를 가져옵니다.

      1. 전과 마찬가지로, 데이터 소스를 마우스 오른쪽 버튼으로 클릭하고 데이터 집합 추가를 선택합니다.

      2. 이번에는 이름 필드에 ParamDS(Parameter Data Set의 축약)를 입력합니다.

      3. 사이드 메뉴의 쿼리 탭을 클릭합니다.

      4. 여기에서는 고객 테이블에서 고유한 도시 목록을 가져오기 위한 기본 쿼리를 작성합니다.

        • SELECT DISTINCT City FROM Customers

      C# .NET 보고서 데이터 바인딩


      이제 보고서에 매개 변수를 추가합니다.


       cityParam이라는 이름을 지정하고, 방금 만든 ParamDS 데이터 집합을 사용 가능한 값으로 전달합니다.


      1. 보고서 탐색기에서 매개 변수를 마우스 오른쪽 버튼으로 클릭하고 매개 변수 추가를 선택합니다.

      C# .NET 보고서 데이터 바인딩

      1. 이 예에서는 매개 변수 이름을 cityParam으로 지정합니다.

      2. 그런 다음 '사용자에게 값을 입력하도록 요청하는 텍스트'를 '도시 선택'으로 설정합니다.

      3. 사용 가능한 값 탭으로 전환합니다.

      4. 시작 쿼리에서 라디오 버튼을 선택합니다.

      5. 이 예에서는 데이터 집합을 ParamDS로 설정합니다.

        • 이 데이터 집합은 앞서 만든 고유한 도시 이름의 데이터 집합입니다.


      마지막으로, 값 및 레이블 필드를 둘 다 City로 설정합니다.

      C# .NET 보고서 데이터 바인딩


      보고서를 실행하면 사용자에게 도시를 선택하라는 메시지가 표시되지만, 선택한 도시가 아직은 데이터에 영향을 미치지 않습니다.

      C# .NET 보고서 데이터 바인딩

       

      3) 선택된 필터 적용


      마지막으로, 사용자가 선택한 값을 저장 프로시저에 전달하여 데이터 집합을 필터링해야 합니다.


      뒤로 돌아가 StoredProcedure 데이터 집합을 편집하고 City 매개 변수 값을 사용자가 선택한 값으로 변경한 다음, 값 필드를 사용자가 선택했을 매개 변수를 변경합니다.

      1. 앞서 만든 StoredProcedure 데이터 집합을 마우스 오른쪽 버튼으로 클릭합니다.

      2. 사이드 메뉴의 매개 변수 탭을 클릭합니다.

      3. 이제 @City 매개 변수의 하드 코딩한 'London' 값을 삭제하고 앞서 만든 cityParam 매개 변수에서 사용자가 선택한 값을 가져오는 표현식으로 대체합니다.

        • “=Parameters!cityParam.Value”

      C# .NET 보고서 데이터 바인딩


      보고서를 미리 보고 동일한 매개 변수를 다시 선택하면, Anchorage가 포함된 결과만으로 필터링된 테이블이 표시됩니다.

      C# .NET 보고서 데이터 바인딩


      이로써 시나리오 1이 종료되었습니다!


      다음 시나리오에서는 미리 작성된 다른 보고서부터 시작하여 더 간단한 데이터 바인딩 옵션의 예를 설명하겠습니다.


      완성된 샘플 보고서 코드를 다운로드하세요!


      📌 참고 샘플이 제대로 실행되려면 NorthWind 데이터베이스의 자체 인스턴스(내 저장 프로시저 스트립트도 추가해야 함)를 대상으로 하도록 데이터 소스를 편집해야 합니다.
       

      시나리오 2 

      기본 SQL 테이블을 사용하여 C# .NET 보고서에서 데이터를 바인딩하는 방법 

      이제 기본 SQL 테이블을 바인딩합니다.


      이 튜토리얼을 위해 그룹화된 테이블이 포함된 보고서 파일을 미리 만들어 두었습니다.


      따라 하려면 이 블로그의 시작 샘플 코드를 확인해 주세요!


      또한 AdventureWorks 샘플 데이터베이스도 다운로드할 수 있습니다.


      📌 참고 표준 버전과는 명명 규칙이 다른 경량형 버전을 사용합니다.

      따라 하려면 경량형 버전을 다운로드해야 합니다.


      이 샘플을 참조하여 해야 할 일에 대한 일반적인 아이디어를 얻을 수 있습니다.


      다음은 이 예에서 사용하는 테이블입니다.

      C# .NET 보고서 데이터 바인딩


      먼저, SQL 서버의 로컬 인스턴스와 AdventureWorks 데이터베이스에 대한 연결을 설정하겠습니다.

      1. 보고서 탐색기에 있는 데이터 소스를 마우스 오른쪽 버튼으로 클릭하고 데이터 소스 추가를 선택합니다.

      2. 유형으로 Microsoft SQL 클라이언트 공급자를 선택합니다.

      3. 서버 이름 아래에 서버에 대한 연결 세부 정보를 추가합니다.

        • 우리는 자체 시스템에서 실행되므로 (local)입니다.
        • 또한, 필요한 경우 로그인 정보를 설정합니다. 이 경우, Windows 인증을 사용합니다.


      위 설정이 제대로 구성되면 드롭다운에서 데이터베이스를 선택할 수 있습니다.

        • 이 경우 AdventureWorksLT2022를 선택합니다.

      C# .NET 보고서 데이터 바인딩


      이제 데이터 집합을 추가할 수 있습니다.


      메모의 기존 쿼리 중 하나를 사용하여 Products 테이블에서 각 레코드를 제품의 썸네일 이미지와 함께 선택합니다.


      1. 새로 만든 데이터 소스를 마우스 오른쪽 버튼으로 클릭하고 데이터 집합 추가를 선택합니다.

      2. 사이드 메뉴의 쿼리 탭을 클릭합니다.

      3. SQL이 익숙한 경우 SQL 쿼리를 입력하거나 연필 아이콘을 클릭하여 비주얼 쿼리 빌더를 열고 쿼리를 간단한 인터페이스와 어셈블할 수 있습니다.

        • 이 예의 경우 쿼리는 다음과 같습니다.
      SELECT *
      FROM SalesLT.Product
      WHERE (SalesLT.Product.ThumbnailPhotoFileName NOT IN (SELECT
        SalesLT.Product.ThumbnailPhotoFileName FROM SalesLT.Product WHERE
        SalesLT.Product.ThumbnailPhotoFileName = 'no_image_available_small.gif'))
       

      이 시점에서 자체 보고서와 데이터베이스를 사용하는 경우, 데이터를 입력할 테이블과 같은 일부 컨트롤을 추가하고 데이터 세트의 일부 필드를 추가해야 합니다.

      사전에 구성된 보고서로 시작했으므로, 계속 진행하여 보고서를 미리 확인해 보세요.


      쿼리한 데이터가 테이블에 깔끔히 표시되는 것을 볼 수 있습니다.

      C# .NET 보고서 데이터 바인딩


      완성된 샘플 코드를 확인해 보세요!

      📌 참고 샘플이 제대로 작동하려면 AdventureWorksLT 데이터베이스의 자체 인스턴스를 대상으로 하도록 데이터 소스를 조정해야 합니다. 


      ActiveReports.NET에서의 데이터 바인딩에 대해 자세히 알아보려면 ActiveReports.NET 문서 - 데이터 바인딩를 참고해 주세요!




      지금 바로 ActiveReports.NET을 다운로드하여 직접 테스트해보세요!

       
      • 페이스북으로 공유
      • 트위터로  공유
      • 링크 복사
      • 카카오톡으로 보내기

      댓글목록

      등록된 댓글이 없습니다.

      메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
      홈페이지 바로가기

      태그1

      메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
      홈페이지 바로가기
      이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.