Dela via


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

  1. Hämta resultatet till en variabel med namnet MyUntypedObject.

  2. Hämta Table1 från den variabeln och placera den i en variabel med namnet table1.

    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.

  3. Iterera genom table1 och extrahera JSON-elementen i namngivna värdepar.

  4. Matcha namnen med namn som returneras i JSON-nyttolasten.

  5. 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)
        }
    )
);