Vis resultater i SQL Server
Hvis du bruker et direkte tabelltilgangsmønster eller en visning, er spørringsresultatet bundet til kontrollen eller tabellen. Power Fx aktiverer sideveksling av data i appen automatisk i galleriet eller tabellen. Lagrede prosedyrer kan imidlertid returnere et spørringsresultat, en returkode eller verdier fra Out
-parametere.
Hvis du vil bruke disse varierende resultattypene i programmet, bruker du følgende mønstre.
Formler for ulike kontroller
Typiske formler for visninger og lagrede prosedyrer:
Kontroll | Egenskap | Formel | Description |
---|---|---|---|
Galleri eller tabell | Items | DataSource |
Datakilden for tabell eller visning kan justeres ytterligere med et Filter og StartsWith. De andre genererte spørresetningene føyes til den eksisterende spørringen. |
Skjema | DataSource | DataSource |
Datakilden for tabell eller visning |
Send inn-knapp i et skjema | OnSelect | DataSource.dboSPName({ args}); Refresh (‘DataSource’) |
Den første DataSource i denne formelen er datakilden for lagret prosedyre – den som inneholder den lagrede prosedyren. DataSource i oppdateringsformelen er visningsdatakilden. |
Slett-knapp i et skjema | OnSelect | SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) |
Den første DataSource i denne formelen er datakilden for lagret prosedyre – den som inneholder den lagrede prosedyren. DataSource i oppdateringsformelen er visningsdatakilden. |
Returkode
Bruk denne returkoden til å få tilgang til resultatene av en return-setning.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode
Utdataparametere
Bruk parameternavnet slik det vises i JSON-nyttelasten.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>
Resultatsett
Du kan få tilgang til andre tabeller via navnet på dem, for eksempel, Table1
, Table2
eller Table3
.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1
Typeløse resultater
Enkelte kompliserte lagrede prosedyrer returnerer typeløse resultater. Dette resultatet er vanlig for lagrede prosedyrer som bruker midlertidige tabeller. Power Apps kan ikke enkelt fastsette resultatene på forhånd. Derfor blir returen merket som typeløs, og du får ikke direkte tilgang til disse resultatene. Du må først angi en type.
Du kan få tilgang til dataene med følgende eksempelmønster for datatilgang.
Datatilgangseksempel
Hent resultatene inn i en variabel kalt
MyUntypedObject
.Hent
Table1
fra denne variabelen, og legg den inn i en variabel kalttable1
.Tips
Dette trinnet er ikke strengt tatt nødvendig. Det er imidlertid nyttig å legge alle resultatene i en variabel og deretter hente ut delene du trenger, senere.
Iterer gjennom
table1
, og trekk ut JSON-elementene i navngitte verdipar.Samsvar navnene med navn som returneres i JSON-nyttelasten.
Du validerer ved å åpne en Power Apps-overvåkning og se etter en oppføring i brødtekstdelen av datanoden.
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)
}
)
);