Ver resultados en SQL Server

Si usa un patrón de acceso directo a tablas o una vista, el resultado de la consulta se enlaza al control o tabla. Power Fx permite automáticamente los datos de la página de la aplicación en la galería o tabla. Sin embargo, los procedimientos almacenados pueden devolver un resultado de consulta, un código de retorno o valores de parámetros Out.

Para usar estos diferentes tipos de resultados en la aplicación, siga estos patrones.

Fórmulas para diferentes controles

Estas son fórmulas típicas para vistas y procedimientos almacenados:

Control Property Fórmula Description
Galería o Mesa Elementos DataSource Puede refinar aún más la tabla o ver el origen de datos con un filtro y un startsWith. Las demás cláusulas de consulta generadas se anexan a la consulta existente.
Formulario DataSource DataSource Origen de datos de tabla o vista.
Botón Enviar en un formulario OnSelect DataSource.dboSPName({ args}); Refresh (‘DataSource’) La primera DataSource de esta fórmula es el origen de datos del procedimiento almacenado, que contiene el procedimiento almacenado. El DataSource en la fórmula de actualización es la fuente de datos de la vista.
Botón Eliminar en un formulario OnSelect SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) La primera DataSource de esta fórmula es el origen de datos del procedimiento almacenado, que contiene el procedimiento almacenado. El DataSource en la fórmula de actualización es la fuente de datos de la vista.

Código de retorno

Use este código de retorno para obtener el resultado de una instrucción return.

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

Parámetros de salida

Utilice el nombre del parámetro tal como aparece en la carga JSON.

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

Conjuntos de resultados

Puede usar otras tablas por su nombre, como Table1, Table2o Table3.

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

Resultados dinámicos

Algunos procedimientos almacenados complicados devuelven resultados dinámicos. Este resultado es común para los procedimientos almacenados que utilizan tablas temporales. Power Apps No es fácil determinar los resultados con antelación. Por lo tanto, la devolución se marca como dinámica y no se puede acceder directamente a estos resultados. En primer lugar, proporcione un tipo.

Puede acceder a los datos con el siguiente patrón de ejemplo de acceso a datos.

Ejemplo de acceso a datos

  1. Extraiga los resultados en una variable denominada MyDynamicValue.

  2. Extraiga Table1 de esa variable y colóquelo en una variable denominada table1.

    Propina

    Este paso no es estrictamente necesario. Sin embargo, resulta útil colocar todos los resultados en una variable y, a continuación, extraer las partes que necesita más adelante.

  3. Recorre en iteración table1 y extrae los elementos JSON como pares de valor con nombre.

  4. Coincide con los nombres con los devueltos en la carga JSON.

  5. Para validarlo, abra el monitor de Power Apps y examine la sección cuerpo del nodo de datos de un registro.

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