Просмотр результатов в 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 не может легко определить результаты заранее. Таким образом, возврат помечается как нетипизированный, и вы не можете получить доступ к этим результатам напрямую. Необходимо сначала указать тип.
Доступ к данным можно получить с помощью следующего примера шаблона доступа к данным.
Пример доступа к данным
Перетащите результаты в переменную с именем
MyUntypedObject
.Извлеките
Table1
из этой переменной и поместите их в переменную с именемtable1
.Совет
Этот шаг не является строго необходимым. Однако полезно поместить все результаты в переменную, а затем извлечь нужные части позже.
Переберите
table1
и извлеките элементы JSON в именованных парах значений.Сопоставьте имена с именами, возвращенными в полезных данных JSON.
Чтобы проверить это, откройте монитор 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)
}
)
);