次の方法で共有


SQL Server で結果を表示する

直接テーブル アクセス パターンまたはビューを使用している場合、クエリ結果はコントロールまたはテーブルにバインドされます。 Power Fx アプリ内のデータをギャラリーまたはテーブルにページングする機能を自動的に有効にします。 ただし、ストアド プロシージャは、クエリ結果、戻りコード、または Out パラメータからの値を返すことができます。

アプリケーションでこれらのさまざまな結果タイプを使用するには、次のパターンを使用します。

さまざまなコントロールの計算式

ビューとストアド プロシージャの一般的な式:

コントロール Property プロパティ
ギャラリーまたはテーブル アイテム DataSource テーブルまたはビューのデータ ソースは、フィルターStartsWith を使用してさらに絞り込むことができます。 生成された他のクエリ句は既存のクエリに追加されます。
Form DataSource DataSource テーブルまたは ビュー データソース
フォームの送信ボタン OnSelect DataSource.dboSPName({ args}); Refresh (‘DataSource’) この数式の最初の DataSource は、ストアド プロシージャ データ ソース、つまりストアド プロシージャを保持するデータ ソースです。 更新式の DataSource はビュー データ ソースです。
フォームのボタンを削除 OnSelect SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) この数式の最初の DataSource は、ストアド プロシージャ データ ソース、つまりストアド プロシージャを保持するデータ ソースです。 更新式の DataSource はビュー データ ソースです。

戻りコード

この戻りコードを使用して、returnステートメントの結果にアクセスします。

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

出力パラメーター

JSONペイロードに表示されるパラメータ名を使用します。

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

結果セット

他のテーブルには、 Table1Table2 などの名前でアクセスできます Table3

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

型指定されていない結果

一部の複雑なストアド プロシージャは、型指定されていない結果を返します。 この結果は、一時テーブルを使用するストアド プロシージャでは一般的です。 Power Apps は、結果を事前に簡単に決定することはできません。 したがって、戻り値は 型なし としてマークされ、これらの結果に直接アクセスすることはできません。 種類を最初に指定する必要があります。

次のデータ アクセス例パターンを使用してデータにアクセスできます。

データアクセスの例

  1. MyUntypedObject という名前の変数に結果を格納します。

  2. その変数から Table1 を引き出し、 table1という名前の変数に格納します。

    チップ

    この手順は、厳密に必要というわけではありません。 ただし、すべての結果を変数に入れて、後で必要な部分を取り出すと便利です。

  3. table1 を反復処理し、名前付き値のペアでJSON要素を抽出します。

  4. 名前をJSONペイロードで返された名前と一致させます。

  5. 検証するには、 Power Apps モニターを開き、レコードのデータ ノードの本体セクションを確認します。

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