Freigeben über


Ergebnisse in SQL Server anzeigen

Wenn Sie ein Muster für den direkten Tabellenzugriff oder eine Ansicht verwenden, ist das Abfrageergebnis an das Steuerelement oder die Tabelle gebunden. Power Fx aktiviert automatisch das Paging von Daten in Ihrer App in den Katalog oder die Tabelle. Gespeicherte Prozeduren können jedoch ein Abfrageergebnis, einen Rückgabecode oder Werte aus Out-Parametern zurückgeben.

Um diese unterschiedlichen Ergebnistypen in Ihrer Anwendung zu verwenden, verwenden Sie die folgenden Muster.

Formeln für verschiedene Kontrollen

Typische Formeln für Ansichten und gespeicherte Prozeduren:

Kontrolle Eigenschaften Formel Eigenschaft
Galerie oder Tabelle Elemente DataSource Die Tabellen- oder Ansichtsdatenquelle kann mit einem Filter und einem StartsWith weiter verfeinert werden. Die anderen generierten Abfrageklauseln werden an die vorhandene Abfrage angehängt.
Form DataSource DataSource Die Tabellen- oder Ansichtsdatenquelle
Übermitteln-Schaltfläche auf einem Formular OnSelect DataSource.dboSPName({ args}); Refresh (‘DataSource’) Die erste DataSource in dieser Formel ist die Datenquelle der gespeicherten Prozedur – diejenige, welche die gespeicherte Prozedur enthält. Die DataSource in der Aktualisieren-Formel ist die Ansichtsdatenquelle.
Löschen-Schaltfläche in einem Formular OnSelect SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) Die erste DataSource in dieser Formel ist die Datenquelle der gespeicherten Prozedur – diejenige, welche die gespeicherte Prozedur enthält. Die DataSource in der Aktualisieren-Formel ist die Ansichtsdatenquelle.

Rückgabecode

Verwenden Sie diesen Rückgabecode, um auf die Ergebnisse einer Return-Anweisung zuzugreifen.

<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode

Ausgabe...parameter

Verwenden Sie den Parameternamen, wie er in der JSON-Nutzlast angezeigt wird.

<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>

Ergebnismengen

Auf andere Tabellen kann über ihren Namen zugegriffen werden, z. B., Table1, Table2 oder Table3.

<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1

Untypisierte Ergebnisse

Einige komplizierte gespeicherte Prozeduren geben nicht typisierte Ergebnisse zurück. Dieses Ergebnis kommt häufig bei gespeicherten Prozeduren vor, die temporäre Tabellen verwenden. Power Apps kann die Ergebnisse nicht einfach im Voraus bestimmen. Daher wird die Rückgabe als nicht typisiert gekennzeichnet und Sie können nicht direkt auf diese Ergebnisse zugreifen. Sie müssen erst einen Typ angeben.

Sie können mit dem folgenden Beispiel auf die Daten zugreifen.

Beispiel für Datenzugriff

  1. Ziehen Sie die Ergebnisse in eine Variable mit dem Namen MyUntypedObject.

  2. Ziehen Sie Table1 aus dieser Variablen und fügen Sie sie in eine Variable namens table1 ein.

    Trinkgeld

    Dieser Schritt ist nicht absolut erforderlich. Es ist jedoch sinnvoll, alle Ergebnisse in einer Variablen abzulegen und die benötigten Teile später herauszuziehen.

  3. Interieren Sie table1 und extrahieren Sie die JSON-Elemente in benannten Wertpaaren.

  4. Ordnen Sie die Namen den in der JSON-Nutzlast zurückgegebenen Namen zu.

  5. Öffnen Sie zur Überprüfung einen Power Apps Monitor und sehen Sie sich den Textabschnitt des Datenknotens für einen Datensatz an.

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