Freigeben über


Ergebnisse in SQL Server anzeigen

Wenn Sie ein direktes Tabellenzugriffsmuster 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 Steuerelemente

Typische Formeln für Ansichten und gespeicherte Prozeduren:

Kontrolle Eigenschaften Formel Beschreibung
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 angefügt.
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 so, 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

Nicht typisierte Ergebnisse

Einige komplizierte gespeicherte Prozeduren geben nicht typisierte Ergebnisse zurück. Dieses Ergebnis ist bei gespeicherten Prozeduren, die temporäre Tabellen verwenden, üblich. 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 den 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.

    Tipp

    Dieser Schritt ist nicht absolut erforderlich. Es ist jedoch sinnvoll, alle Ergebnisse in eine Variable einzufügen und dann später die benötigten Teile herauszuziehen.

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

  4. Gleichen Sie die Namen mit den Namen ab, die in der JSON-Nutzlast zurückgegeben werden.

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