다음을 통해 공유


SQL Server에서 결과 보기

직접 테이블 액세스 패턴 또는 보기를 사용하는 경우 쿼리 결과는 컨트롤 또는 테이블에 바인딩됩니다. Power Fx를 사용하면 앱의 데이터를 갤러리 또는 테이블로 자동으로 페이징할 수 있습니다. 그러나 저장 프로시저는 쿼리 결과, 반환 코드 또는 Out 매개 변수의 값을 반환할 수 있습니다.

애플리케이션에서 이러한 다양한 결과 형식을 사용하려면 다음 패턴을 사용합니다.

다양한 컨트롤에 대한 수식

보기 및 저장 프로시저에 대한 일반적인 수식:

Ctrl Property 수식 Description
갤러리 또는 테이블 Items DataSource 테이블이나 보기 데이터 원본은 FilterStartsWith를 사용하여 더욱 세분화할 수 있습니다. 생성된 다른 쿼리 절은 기존 쿼리에 추가됩니다.
양식 DataSource DataSource 테이블 또는 보기 데이터 원본
양식의 제출 버튼 OnSelect DataSource.dboSPName({ args}); Refresh (‘DataSource’) 이 수식의 첫 번째 DataSource는 저장 프로시저를 보유하는 저장 프로시저 데이터 원본입니다. 새로 고침 수식의 DataSource는 보기 데이터 원본입니다.
양식의 삭제 버튼 OnSelect SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) 이 수식의 첫 번째 DataSource는 저장 프로시저를 보유하는 저장 프로시저 데이터 원본입니다. 새로 고침 수식의 DataSource는 보기 데이터 원본입니다.

반환 코드

반환 문의 결과에 액세스하려면 이 반환 코드를 사용합니다.

<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode

출력 매개 변수

JSON 페이로드에 표시되는 대로 매개 변수 이름을 사용합니다.

<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>

결과 집합

다른 테이블은 이름을 통해 액세스할 수 있습니다(예: Table1, Table2 또는 Table3).

<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1

형식화되지 않은 결과

일부 복잡한 저장 프로시저는 형식화되지 않은 결과를 반환합니다. 이 결과는 임시 테이블을 사용하는 저장 프로시저에서 일반적입니다. Power Apps에서는 결과를 미리 쉽게 확인할 수 없습니다. 따라서 반환은 형식화되지 않은 것으로 표시되며 이러한 결과에 직접 액세스할 수 없습니다. 먼저 형식을 제공해야 합니다.

다음 데이터 액세스 예제 패턴을 사용하여 데이터에 액세스할 수 있습니다.

데이터 액세스 예제

  1. 결과를 이름이 지정된 MyUntypedObject 변수로 가져옵니다.

  2. 해당 변수에서 Table1을 가져와서 table1이라는 변수에 넣습니다.

    이 단계는 반드시 필요한 것은 아닙니다. 그러나 모든 결과를 변수에 넣은 다음 나중에 필요한 부분을 꺼내는 것이 유용합니다.

  3. table1을 반복하고 명명된 값 쌍으로 JSON 요소를 추출합니다.

  4. 이름을 JSON 페이로드에 반환된 이름과 일치시킵니다.

  5. 유효성을 검사하려면 Power Apps 모니터를 열고 레코드에 대한 데이터 노드의 본문 섹션을 확인합니다.

Set(
    <MyUntypedObject>, // pull results into variable
    <datasourceName>.<StoredprocedureName>( 
      { <paramName1>: "someString" }
    ).ResultSets
);
Set(
    table1, // put Table1 into table1
    <MyUntypedObject>.Table1
);
Set(
    TypedTable,
    ForAll(
        table1, // extract JSON from table1
        {
            BookID: Value(ThisRecord.BookID),
            BookName: Text(ThisRecord.BookName)
        }
    )
);