Afficher les résultats dans SQL Server
Si vous utilisez un modèle d’accès direct aux tables ou une vue, le résultat de la requête est lié au contrôle ou à la table. Power Fx active automatiquement la pagination des données de votre application dans la galerie ou la table. Toutefois, les procédures stockées peuvent renvoyer un résultat de requête, un code de retour ou des valeurs de paramètres Out
.
Pour utiliser ces différents types de résultats dans votre application, utilisez les modèles suivants.
Formules pour différents contrôles
Formules typiques pour les vues et les procédures stockées :
Control | Property | Formula | Description |
---|---|---|---|
Galerie ou tableau | Items | DataSource |
La source de données de la table ou de la vue peut être affinée à l’aide des fonctions Filtrer et StartsWith. Les autres clauses de requête générées sont ajoutées à la requête existante. |
Formulaire | Source de données | DataSource |
Source des données de la table ou de la vue |
Bouton Envoyer sur un formulaire | OnSelect | DataSource.dboSPName({ args}); Refresh (‘DataSource’) |
La première DataSource de cette formule est la source de données de procédure stockée, c’est-à-dire celle qui contient votre procédure stockée. La DataSource dans la formule d’actualisation est la source de données de la vue. |
Bouton Supprimer dans un formulaire | OnSelect | SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) |
La première DataSource de cette formule est la source de données de procédure stockée, c’est-à-dire celle qui contient votre procédure stockée. La DataSource dans la formule d’actualisation est la source de données de la vue. |
Code de retour
Utilisez ce code de retour pour accéder aux résultats d’une instruction de retour.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode
Paramètres de sortie
Utilisez le nom du paramètre tel qu’il apparaît dans la charge utile JSON.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>
Ensembles de résultats
D’autres tables sont accessibles via leur nom, par exemple, Table1
, Table2
, ou Table3
.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1
Résultats non typés
Certaines procédures stockées complexes renvoient des résultats non typés. Ce résultat est courant pour les procédures stockées qui utilisent des tables temporaires. Power Apps il n’est pas facile de déterminer les résultats à l’avance. Par conséquent, le retour est marqué comme sans type et vous ne pouvez pas accéder directement à ces résultats. Vous devez fournir tout d’abord un type.
Vous pouvez accéder aux données avec le modèle d’exemple d’accès aux données suivant.
Exemple d’accès aux données
Récupérez les résultats dans une variable nommée
MyUntypedObject
.Récupérez
Table1
de cette variable et placez-la dans une variable nomméetable1
.Astuce
Cette étape n’est pas strictement nécessaire. Il est cependant utile de mettre tous les résultats dans une variable, puis d’extraire les parties dont vous avez besoin, plus tard.
Parcourir
table1
et extraire les éléments JSON dans des paires de valeurs nommées.Faites correspondre les noms avec les noms renvoyés dans la charge utile JSON.
Pour valider, ouvrez un moniteur Power Apps et examinez la section corps du nœud de données pour un enregistrement.
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)
}
)
);