Visualizzare i risultati in Server SQL
Se si utilizza un modello di accesso diretto alla tabella o una vista, il risultato della query è associato al controllo o alla tabella. Power Fx abilita automaticamente il paging dei dati nella tua app nella galleria o nella tabella. Tuttavia, le stored procedure possono restituire un risultato di query, un codice restituito o valori da parametri Out
.
Per utilizzare questi diversi tipi di risultati nella tua applicazione, usa i seguenti modelli.
Formule per diversi controlli
Formule tipiche per viste e procedure archiviate:
Controllo | Proprietà | Formula | Descrzione |
---|---|---|---|
Raccolta o tabella | Items | DataSource |
La tabella o vista origine dati può essere ulteriormente perfezionata con un Filtro e un IniziaCon. Le altre clausole di query generate vengono aggiunte alla query esistente. |
Modulo | Origine dati | DataSource |
L'origine dati della tabella o della visualizzazione |
Pulsante Invia in un modulo | OnSelect | DataSource.dboSPName({ args}); Refresh (‘DataSource’) |
Il primo DataSource di questa formula è l'origine dati della stored procedure, ovvero quella che contiene la stored procedure. DataSource nella formula di aggiornamento è l'origine dati della visualizzazione. |
Pulsante Elimina in un modulo | OnSelect | SP DataSource.dboSPName({ args}); Refresh (‘View DataSource’) |
Il primo DataSource di questa formula è l'origine dati della stored procedure, ovvero quella che contiene la stored procedure. DataSource nella formula di aggiornamento è l'origine dati della visualizzazione. |
Codice di ritorno
Utilizzare questo codice di ritorno per accedere ai risultati di un'istruzione return.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ReturnCode
Parametri di output
Utilizzare il nome del parametro così come appare nel payload JSON.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).OutputParameters.<parameterName>
Set di risultati
È possibile accedere ad altre tabelle tramite il nome delle stesse, ad esempio Table1
, Table2
o Table3
.
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >}).ResultSets.Table1
Risultati non tipizzati
Alcune procedure archiviate complesse restituiscono risultati non tipizzati. Questo risultato è comune per le stored procedure che utilizzano tabelle temporanee. Power Apps non è possibile determinare facilmente i risultati in anticipo. Pertanto, quanto restituito è contrassegnato come non tipizzato e non è possibile accedere direttamente a questi risultati. Devi dapprima specificare un tipo.
È possibile accedere ai dati con il seguente modello di esempio di accesso ai dati.
Esempio di accesso ai dati
Esegui il pull dei risultati in una variabile denominata
MyUntypedObject
.Esegui il pull di
Table1
da quella variabile e inseriscilo in una variabile denominatatable1
.Suggerimento
Questo passaggio non è necessario strettamente necessario. Tuttavia è utile inserire tutti i risultati in una variabile e poi estrarre in un secondo momento le parti necessarie.
Esegui l'iterazione di
table1
ed estrai gli elementi JSON in coppie di valori con nome.Confronta i nomi con i nomi restituiti nel payload JSON.
Per convalidare, esegui un monitoraggio di Power Apps e cerca un record nella sezione del corpo del nodo dati.
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)
}
)
);