Ver resultados no SQL Server
Se estiver a utilizar um padrão de acesso direto à tabela ou uma vista, o resultado da consulta será ligado ao controlo ou à tabela. O Power Fx ativa automaticamente a paginação de dados na sua aplicação para a galeria ou tabela. No entanto, os procedimentos armazenados podem devolver um resultado da consulta, um código de retorno ou valores dos parâmetros Out
.
Para usar esses tipos de resultados variáveis em seu aplicativo, use os padrões a seguir.
Fórmulas para diferentes controlos
Fórmulas típicas para modos de exibição e procedimentos armazenados:
Ctrl | Property | Fórmula | Description |
---|---|---|---|
Galeria ou Mesa | Items | DataSource |
A origem de dados da tabela ou vista pode ser ainda mais refinada com um Filtro e um StartsWith. As outras cláusulas de consulta geradas são acrescentadas à consulta existente. |
Formulário | DataSource | DataSource |
A origem de dados da tabela ou da vista |
Botão Submeter num formulário | OnSelect | DataSource.dboSPName({ args}); Refresh (‘DataSource’) |
O primeiro DataSource nesta fórmula é a origem de dados do procedimento armazenado – aquela que contém o seu procedimento armazenado. O DataSource na fórmula de atualização é a origem de dados da vista. |
Botão Eliminar num formulário | OnSelect | SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) |
O primeiro DataSource nesta fórmula é a origem de dados do procedimento armazenado – aquela que contém o seu procedimento armazenado. O DataSource na fórmula de atualização é a origem de dados da vista. |
Código de retorno
Use esse código de retorno para acessar os resultados de uma instrução de retorno.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode
Parâmetros de saída
Utilize o nome do parâmetro tal como aparece no payload JSON.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>
Conjuntos de resultados
Outras tabelas podem ser acedidas através do seu nome, por exemplo, Table1
Table2
ou Table3
.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1
Resultados não tipados
Alguns procedimentos armazenados complicados retornam resultados não tipados. Esse resultado é comum para procedimentos armazenados que usam tabelas temporárias. Power Apps Não é possível determinar facilmente os resultados com antecedência. Portanto, a devolução é marcada como untyped e não pode aceder a estes resultados diretamente. Deve primeiro fornecer um tipo.
Você pode acessar os dados com o seguinte padrão de exemplo de acesso a dados.
Exemplo de acesso a dados
Solicite os resultados para uma variável chamada
MyUntypedObject
.Solicite o
Table1
dessa variável e coloque-o numa variável chamadatable1
.Sugestão
Este passo não é estritamente necessário. É útil, no entanto, colocar todos os resultados em uma variável e, em seguida, retirar as peças que você precisa, mais tarde.
Itere pela
table1
e extraia os elementos JSON em pares de valores nomeados.Corresponda os nomes com os nomes retornados na carga JSON útil.
Para validar, abra um monitor do Power Apps e procure um registo na secção do corpo do nó de dados.
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)
}
)
);