在 SQL Server 中查看结果

如果使用直接表访问模式或视图,查询结果将绑定到控件或表。 Power Fx 自动允许你的应用页数据进入库或表。 但是,存储过程可以从 Out 参数返回查询结果、返回代码或值。

若要在应用中使用这些不同的结果类型,请遵循这些模式。

不同控件的公式

下面是视图和存储过程的典型公式:

控件 属性 公式 Description
库或表 项目 DataSource 可以使用 FilterStartsWith 进一步优化表或查看数据源。 其他生成的查询子句将追加到现有查询。
表格 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>

结果集

可以按其名称(例如 Table1Table2Table3)使用其他表。

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

动态结果

一些复杂的存储过程返回动态结果。 对于使用临时表的存储过程,此结果很常见。 Power Apps 无法轻易提前确定结果。 因此,返回标记为 动态 ,并且无法直接访问这些结果。 首先,提供类型。

您可以使用以下数据访问示例模式访问数据。

数据访问示例

  1. 将结果放入名为 MyDynamicValue 的变量中。

  2. 从该变量拉取 Table1,将它放入名为 table1 的变量。

    小费

    此步骤不是绝对必要。 不过,将所有结果放入变量中,然后拉出稍后所需的部分,这很有用。

  3. 循环访问 table1 JSON 元素并将其提取为命名值对。

  4. 将名称与 JSON 有效负载中返回的名称匹配。

  5. 若要验证,请打开 Power Apps 监视器并查看记录数据节点的正文部分。

Set(
    <MyDynamicValue>, // pull results into variable
    <datasourceName>.<StoredprocedureName>( 
      { <paramName1>: "someString" }
    ).ResultSets
);
Set(
    table1, // put Table1 into table1
    <MyDynamicValue>.Table1
);
Set(
    TypedTable,
    ForAll(
        table1, // extract JSON from table1
        {
            BookID: Value(ThisRecord.BookID),
            BookName: Text(ThisRecord.BookName)
        }
    )
);