Compartilhar via


Exibir resultados no SQL Server

Se você estiver usando um padrão de acesso direto à tabela ou uma exibição, o resultado da consulta será associado ao controle ou à tabela. O Power Fx habilita automaticamente a paginação de dados em seu aplicativo na galeria ou na tabela. No entanto, os procedimentos armazenados podem retornar um resultado de consulta, um código de retorno ou valores de parâmetros Out.

Para usar esses tipos de resultados variados em seu aplicativo, use os padrões a seguir.

Fórmulas para controles diferentes

Fórmulas típicas para exibições e procedimentos armazenados:

Control Propriedade Fórmula Description
Galeria ou tabela Itens DataSource A fonte de dados de tabela ou exibição pode ser refinada ainda mais com um Filtro e um StartsWith. As outras cláusulas de consulta geradas são anexadas à consulta existente.
Formulário DataSource DataSource A fonte de dados de tabela ou exibição
Botão Enviar em um formulário OnSelect DataSource.dboSPName({ args}); Refresh (‘DataSource’) O primeiro DataSource dessa fórmula é a fonte de dados do procedimento armazenado – aquela que contém o procedimento armazenado. O DataSource na fórmula de atualização é a fonte de dados de exibição.
Botão Excluir em um formulário OnSelect SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) O primeiro DataSource dessa fórmula é a fonte de dados do procedimento armazenado – aquela que contém o procedimento armazenado. O DataSource na fórmula de atualização é a fonte de dados de exibição.

Código de devolução

Use esse código de devolução para acessar os resultados de uma instrução de devolução.

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

Parâmetros de saída

Use o nome da propriedade como aparece no devolução JSON.

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

Conjuntos de resultados

Outras tabelas podem ser acessadas por meio de 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 consegue determinar facilmente os resultados com antecedência. Portanto, o retorno é marcado como não tipado, e você não pode acessar esses resultados diretamente. Você deve fornecer um tipo primeiro.

Você pode acessar os dados com o seguinte padrão de exemplo de acesso a dados.

Exemplo de acesso a dados

  1. Puxe os resultados em uma variável nomeada MyUntypedObject.

  2. Extraia Table1 dessa variável e coloque-a em uma variável nomeada table1.

    Dica

    Esta etapa não é estritamente necessária. É útil, no entanto, colocar todos os resultados em uma variável e, em seguida, retirar as peças que você precisa, mais tarde.

  3. Itere por meio de table1 e extraia os elementos JSON em pares de valores nomeados.

  4. Compare os nomes com nomes retornados no payload JSON.

  5. Para validar, abra um monitor do Power Apps e examine a seção body do nó de dados de um registro.

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)
        }
    )
);