Compartir a través de


Ver resultados en SQL Server

Si utiliza un patrón de acceso directo a una tabla o una vista, el resultado de la consulta estará vinculado al control o la tabla. Power Fx habilita automáticamente la paginación de datos en su aplicación dentro de 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 utilizar estos distintos tipos de resultados en su aplicación, utilice los siguientes patrones.

Fórmulas para diferentes controles

Fórmulas típicas para vistas y procedimientos almacenados:

Control Property Fórmula Description
Galería o Mesa Elementos DataSource La fuente de datos de la tabla o vista se puede refinar aún más con un Filter y un StartsWith. Las demás cláusulas de consulta generadas se añaden a la consulta existente.
Formulario DataSource DataSource La fuente de datos de la tabla o vista
Botón Enviar en un formulario OnSelect DataSource.dboSPName({ args}); Refresh (‘DataSource’) El primer DataSource en esta fórmula es la fuente de datos del procedimiento almacenado, la que contiene su 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’) El primer DataSource en esta fórmula es la fuente de datos del procedimiento almacenado, la que contiene su procedimiento almacenado. El DataSource en la fórmula de actualización es la fuente de datos de la vista.

Código de retorno

Utilice este código de retorno para acceder a los resultados de una declaración de retorno.

<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

Se puede acceder a otras tablas a través de su nombre, por ejemplo, Table1, Table2, o Table3.

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

Resultados no tipificados

Algunos procedimientos almacenados complicados devuelven resultados sin tipo. 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, el retorno se marca como sin tipo y no puede acceder a estos resultados directamente. Debe proporcionar antes 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 MyUntypedObject.

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

    Propina

    Este paso no es estrictamente necesario. Sin embargo, es útil colocar todos los resultados en una variable y luego extraer las partes que necesite más adelante.

  3. Itere a través de table1 y extraiga los elementos JSON como pares de nombre y valor.

  4. Haga coincidir los nombres con los nombres devueltos en la carga JSON.

  5. Para validar, abra un monitor de Power Apps y observe la sección del cuerpo del nodo de datos para un 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)
        }
    )
);