Поделиться через


Просмотр результатов в SQL Server

Если вы используете шаблон прямого доступа к таблице или представление, результат запроса привязывается к элементу управления или таблице. Power Fx автоматически включает разбиение данных приложения на страницы в коллекцию или таблицу. Однако хранимые процедуры могут возвращать результат запроса, код возврата или значения из параметров Out.

Чтобы использовать эти различные типы результатов в приложении, используйте следующие шаблоны.

Формулы для различных элементов управления

Типичные формулы для представлений и хранимых процедур:

Элемент управления Свойство Формула Description
Коллекция или таблица Items DataSource Источник данных таблицы или представления можно дополнительно уточнить с помощью Фильтра и функции StartsWith. Другие сгенерированные предложения запроса добавляются к существующему запросу.
Форма 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>

Результирующие наборы

Доступ к другим таблицам можно получить по их имени, например Table1, Table2 или 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)
        }
    )
);