Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
Extraiga los resultados en una variable denominada
MyDynamicValue.Extraiga
Table1de esa variable y colóquelo en una variable denominadatable1.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.
Recorre en iteración
table1y extrae los elementos JSON como pares de valor con nombre.Coincide con los nombres con los devueltos en la carga JSON.
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)
}
)
);