Vis resultater i SQL Server
Hvis du bruger et mønster for direkte tabeladgang eller en visning, bindes forespørgselsresultatet til kontrolelementet eller tabellen. Power Fx aktiverer automatisk sideinddeling af data i appen i galleriet eller tabellen. Lagrede procedurer kan dog returnere et forespørgselsresultat, en returkode eller værdier fra Out
-parametre.
Hvis du vil bruge disse forskellige resultattyper i dit program, skal du bruge følgende mønstre.
Formler til forskellige kontrolelementer
Typiske formler for visninger og lagrede procedurer:
Control | Property | Formula | Description |
---|---|---|---|
Galleri eller bord | Elemeter | DataSource |
Datakilden for tabellen eller visningen kan finjusteres yderligere med et filter og en StartsWith. De øvrige genererede delsætninger i forespørgslen føjes til den eksisterende forespørgsel. |
Form | DataSource | DataSource |
Datakilden til tabellen eller visningen |
Knappen Indsend i en formular | OnSelect | DataSource.dboSPName({ args}); Refresh (‘DataSource’) |
Den første DataSource i denne formel er datakilden for den lagrede procedure – den, der indeholder den lagrede procedure. DataSource er datakilden for visning i opdateringsformlen. |
Knappen Slet i en formular | OnSelect | SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) |
Den første DataSource i denne formel er datakilden for den lagrede procedure – den, der indeholder den lagrede procedure. DataSource er datakilden for visning i opdateringsformlen. |
Returkode
Brug denne returkode til at få adgang til resultaterne af en returerklæring.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode
Outputparametre
Brug parameterens navn, som det vises i JSON-nyttedataene.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>
Resultatsæt
Andre tabeller kan tilgås via deres navn, f.eks., Table1
Table2
, eller Table3
.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1
Ikke-indtastede resultater
Nogle komplicerede lagrede procedurer returnerer ikke-indtastede resultater. Dette resultat er almindeligt for lagrede procedurer, der bruger midlertidige tabeller. Power Apps ikke nemt bestemme resultaterne på forhånd. Derfor markeres returneringen som uden type, og du kan ikke få adgang til disse resultater direkte. Du skal først angive en type.
Du kan få adgang til dataene med følgende eksempel på adgangsmønster til data.
Eksempel på dataadgang
Træk resultaterne ind i en variabel med navnet
MyUntypedObject
.Træk
Table1
fra variablen, og indsæt den i en variabel med navnettable1
.Tip
Dette trin er ikke strengt nødvendigt. Det er dog nyttigt at anbringe alle resultaterne i en variabel og derefter senere trække de dele ud, du har brug for.
Gentag
table1
, og udtræk JSON-elementerne i navngivne værdipar.Match navnene med navne, der returneres i JSON-nyttedataene.
Hvis du vil validere, skal du åbne en Power Apps-skærm og se på sektionen med brødtekst i datanoden for 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)
}
)
);