SQL Server에서 결과 보기
직접 테이블 액세스 패턴 또는 보기를 사용하는 경우 쿼리 결과는 컨트롤 또는 테이블에 바인딩됩니다. Power Fx를 사용하면 앱의 데이터를 갤러리 또는 테이블로 자동으로 페이징할 수 있습니다. 그러나 저장 프로시저는 쿼리 결과, 반환 코드 또는 Out
매개 변수의 값을 반환할 수 있습니다.
애플리케이션에서 이러한 다양한 결과 형식을 사용하려면 다음 패턴을 사용합니다.
다양한 컨트롤에 대한 수식
보기 및 저장 프로시저에 대한 일반적인 수식:
Ctrl | Property | 수식 | Description |
---|---|---|---|
갤러리 또는 테이블 | Items | DataSource |
테이블이나 보기 데이터 원본은 Filter 및 StartsWith를 사용하여 더욱 세분화할 수 있습니다. 생성된 다른 쿼리 절은 기존 쿼리에 추가됩니다. |
양식 | 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에서는 결과를 미리 쉽게 확인할 수 없습니다. 따라서 반환은 형식화되지 않은 것으로 표시되며 이러한 결과에 직접 액세스할 수 없습니다. 먼저 형식을 제공해야 합니다.
다음 데이터 액세스 예제 패턴을 사용하여 데이터에 액세스할 수 있습니다.
데이터 액세스 예제
결과를 이름이 지정된
MyUntypedObject
변수로 가져옵니다.해당 변수에서
Table1
을 가져와서table1
이라는 변수에 넣습니다.팁
이 단계는 반드시 필요한 것은 아닙니다. 그러나 모든 결과를 변수에 넣은 다음 나중에 필요한 부분을 꺼내는 것이 유용합니다.
table1
을 반복하고 명명된 값 쌍으로 JSON 요소를 추출합니다.이름을 JSON 페이로드에 반환된 이름과 일치시킵니다.
유효성을 검사하려면 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)
}
)
);