Visa resultat i SQL Server
Om du använder ett mönster för direkt tabellåtkomst eller en vy är frågeresultatet bundet till kontrollen eller tabellen. Power Fx aktiverar automatiskt växling av data i din app till galleriet eller tabellen. Lagrade procedurer kan dock returnera ett frågeresultat, en returkod eller värden från Out
parametrar.
Om du vill använda dessa olika resultattyper i ditt program använder du följande mönster.
Formler för olika kontroller
Vanliga formler för vyer och lagrade procedurer:
Ctrl | Property | Formel | Description |
---|---|---|---|
Galleri eller Tabell | Items | DataSource |
Tabell- eller vydatakällan kan förfinas ytterligare med ett filter och StartsWith. De andra genererade frågesatserna läggs till i den befintliga frågan. |
Formulär | DataSource | DataSource |
Tabell- eller vydatakällan. |
Knappen Skicka i ett formulär | OnSelect | DataSource.dboSPName({ args}); Refresh (‘DataSource’) |
Den första DataSource i den här formeln är datakällan för den lagrade proceduren, det vill säga den som innehåller den lagrade proceduren. DataSource i uppdateringsformeln är datakällan för vyn. |
Knappen Ta bort i ett formulär | OnSelect | SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) |
Den första DataSource i den här formeln är datakällan för den lagrade proceduren, det vill säga den som innehåller den lagrade proceduren. DataSource i uppdateringsformeln är datakällan för vyn. |
Returkod
Använd den här returkoden för att komma åt resultatet av en return-instruktion.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode
Utdataparametrar
Använd parameternamnet som det visas i JSON-nyttolasten.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>
Resultatuppsättningar
Andra tabeller kan nås via deras namn, till exempel Table1
, Table2
eller Table3
.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1
Typlösa resultat
Vissa komplicerade lagrade procedurer returnerar typlösa resultat. Det här resultatet är vanligt för lagrade procedurer som använder temporära tabeller. Power Apps kan inte enkelt fastställa resultaten i förväg. Därför markeras returen som typlös och du kan inte komma åt dessa resultat direkt. Du måste först ange en typ.
Du kan komma åt data med följande exempelmönster för dataåtkomst.
Exempel på dataåtkomst
Hämta resultatet till en variabel med namnet
MyUntypedObject
.Hämta
Table1
från den variabeln och placera den i en variabel med namnettable1
.Tips!
Det här steget är inte absolut nödvändigt. Det är dock användbart att lägga alla resultat i en variabel och sedan hämta de delar du behöver senare.
Iterera genom
table1
och extrahera JSON-elementen i namngivna värdepar.Matcha namnen med namn som returneras i JSON-nyttolasten.
Om du vill validera öppnar du en Power Apps-övervakare och tittar på brödtextavsnittet i datanoden för att se om det finns en post.
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)
}
)
);