Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Adicionar uma origem de dados
Acesso direto:
Se você selecionar a opção Iniciar com dados ao criar um aplicativo, a propriedade Itens da sua galeria usará uma fórmula Power Fx com um nome de fonte de dados que aponta diretamente para a tabela do banco de dados.
Por exemplo, se tiver uma BOOKLENDING tabela, verá esta fórmula:
Search([@'[dbo].[BOOKLENDING]'], SearchInput1.Text, author, author,book_name,category)
Vistas e procedimentos armazenados:
Um padrão profissional comum de acesso a dados é usar modos de exibição e, em seguida, procedimentos armazenados para criar, atualizar e excluir em vez de permitir acesso direto. Se pretender utilizar vistas ou procedimentos armazenados, altere a fórmula de exemplo. Da mesma forma, o formulário para o registro não usa a abordagem direta interna da SubmitForm() fórmula.
Acionadores:
Um padrão de base de dados é usar acionadores em tabelas. Se uma tabela tiver um gatilho, você não poderá usar o padrão Submit() direto para criar, atualizar e excluir.
Submit() conflitos com a manipulação de gatilhos SQL e o comportamento interno do Power Apps, que usam o mesmo parâmetro de saída.
Você pode acessar diretamente a tabela para consultas, mas para manipular Create, Updateou Delete, chamar um procedimento armazenado.
Nota
O conector do SQL Server, como todos os conectores que trabalham com dados relacionais, pressupõe que as tabelas tenham uma chave primária. Uma chave primária é fundamental para localizar registos específicos a atualizar. Se uma tabela do SQL Server não tiver uma chave primária, os dados serão somente leitura. Se tiver direitos de acesso e edição para a tabela do SQL Server, considere adicionar uma chave gerada automaticamente.
Utilizar uma vista
Um modo de exibição é uma consulta salva que é mostrada como uma única tabela de dados.
As exibições aparecem na lista de tabelas que você pode selecionar ao adicionar uma fonte de dados. As vistas suportam apenas consultas, não atualizações. Para atualizar dados, use um procedimento armazenado.
Se você criar uma tabela com a Start with data opção, obterá telas e fórmulas que mostram registros em uma galeria e formulário. Você vê fórmulas e funcionalidades para criar, editar e excluir registros. Mas se você usar um modo de exibição, verá apenas uma tela de exibição para a galeria e o formulário.
Você pode querer telas geradas automaticamente para Start with data visualizações.
Para usar esta opção gerada automaticamente:
- Escolha
Start with datacom uma tabela básica. - Elimine e substitua a origem de dados da tabela.
Examplo:
Por exemplo, se tiver uma BOOKLENDINGVIEW tabela e a adicionar como fonte de dados para o Power Apps, a fórmula pode ser tão simples como:
BOOKLENDINGVIEW
Você também pode substituir outras fórmulas de criação, atualização e exclusão por uma fonte de dados de exibição e chamadas para procedimentos armazenados.
Utilizar procedimentos armazenados
Ao adicionar uma ligação do SQL Server à sua aplicação, pode adicionar procedimentos armazenados e chamá-los diretamente no Power Fx.
Nota
Esta funcionalidade também funciona com ligações implícitas seguras.
Depois de selecionar um procedimento armazenado, um nó filho é exibido e você pode designar o procedimento armazenado como Seguro para uso em galerias e tabelas.
Um procedimento armazenado é seguro se não executar nenhuma ação que possa ser indesejada em determinados cenários. Por exemplo, se um procedimento armazenado coletar todas as contas de uma determinada cidade e, em seguida, enviar um e-mail para elas, talvez nem sempre você queira que os e-mails sejam enviados toda vez que o procedimento armazenado for chamado. Nesse caso, não marque o procedimento armazenado como seguro.
Verifique um procedimento armazenado como seguro apenas se:
Não houver efeitos colaterais em chamar este procedimento a pedido.
Você pode chamar o procedimento várias vezes ou sempre que o Power Apps atualizar o controle. Quando você o usa com uma propriedade Items de uma galeria ou tabela, o Power Apps chama o procedimento armazenado sempre que o sistema determina que uma atualização é necessária. Não é possível controlar quando o procedimento armazenado é chamado.
O procedimento armazenado retorna uma quantidade modesta de dados.
As chamadas de ação, como procedimentos armazenados, não têm um limite para o número de linhas recuperadas. Eles não são paginados automaticamente em incrementos de 100 registros, como fontes de dados tabulares, como tabelas ou exibições.
Se o procedimento armazenado retornar muitos dados (muitos milhares de registros), seu aplicativo poderá ficar lento ou falhar. Por motivos de desempenho, traga menos de 2.000 registros.
Se você verificar um procedimento armazenado como seguro, poderá atribuí-lo como uma propriedade Items em galerias ou tabelas em seu aplicativo.
Importante
O esquema dos valores de devolução do procedimento armazenado deve ser estático, para que os valores não sejam alterados de chamada para chamada. Por exemplo, se um procedimento armazenado retorna duas tabelas, ele sempre retorna duas tabelas. Você pode trabalhar com resultados específicos ou dinâmicos.
A estrutura dos resultados também precisa ser estática. Por exemplo, se o esquema dos resultados for dinâmico, os resultados serão dinâmicos e você deverá fornecer um tipo específico para usá-los no Power Apps. Para obter mais informações, consulte resultados dinâmicos.
Espaço de nomes SQL anexado ao nome do procedimento armazenado
O nome do namespace do SQL Server, onde você armazena o procedimento, é adicionado ao início do nome do procedimento armazenado. Por exemplo, todos os procedimentos armazenados no espaço de nomes do SQL Server 'DBO' têm 'dbo' no início do nome.
Por exemplo, quando adiciona um procedimento armazenado, pode ver mais do que uma origem de dados no seu projeto.
Chamar um procedimento armazenado
Para usar um procedimento armazenado no Power Apps, adicione o nome do conector antes do nome do procedimento armazenado, como Paruntimedb.dbonewlibrarybook.
Nota
Quando o Power Apps traz o procedimento armazenado, ele combina o namespace e o nome do procedimento para que dbo.newlibrarybook se torne dbonewlibrarybook.
Os argumentos são passados como um registo do Power Apps com pares de valores nomeados:
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >})
Sugestão
Converta valores, se necessário, à medida que os passa para o procedimento armazenado, uma vez que está a ler a partir de um valor de texto no Power Apps. Por exemplo, se você estiver atualizando um inteiro em SQL, converta o texto no campo usando Value().
Eis um exemplo da possível aparência dos procedimentos armazenados ao atribuí-los a uma propriedade OnSelect.
Variáveis e todos os procedimentos armazenados
Acesse um procedimento armazenado para a propriedade Items de uma galeria depois de declará-lo seguro para a interface do usuário. Referencie o nome da origem de dados e o nome do procedimento armazenado seguido por ResultSets. Acesse vários resultados fazendo referência ao conjunto de tabelas retornadas, como Tabela 1, Tabela 2 e assim por diante.
Por exemplo, um procedimento armazenado da tabela Paruntimedb com o nome dbo.spo_show_all_library_books() tem esta aparência:
Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1
Esta consulta preenche a galeria com registos. No entanto, os procedimentos armazenados são comportamentos de ação no modelo tabular.
Refresh() só funciona com fontes de dados tabulares e não funciona com procedimentos armazenados. Atualize a galeria quando um registro for criado, atualizado ou excluído.
Nota
Quando utiliza um Submit() num formulário para uma origem de dados tabular, este chama efetivamente Refresh() nos bastidores e atualiza a galeria.
Utilizar uma variável para preencher e atualizar a galeria
Use uma variável na OnVisible propriedade da tela e defina o procedimento armazenado como a variável.
Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);
Pode então definir a propriedade Items da galeria como o nome da variável.
SP_Books
Depois de criar, atualizar ou excluir um registro com uma chamada para o procedimento armazenado, defina a variável novamente para atualizar a galeria.
Paruntimedb.dbonewlibrarybook({
book_name: DataCardValue3_2.Text,
author: DataCardValue1_2.Text,
...
});
Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);
Utilize Power Automate para chamar procedimentos armazenados
O Power Automate lida melhor com ações assíncronas. Chamar procedimentos armazenados como parte de uma série de chamadas em um processo comercial.
Para chamar Power Automate e, em seguida, chamar procedimentos armazenados, crie variáveis de entrada como parte do seu fluxo.
Em seguida, transmita as variáveis de entrada para a chamada do procedimento armazenado.
Adicione este fluxo do Power Automate à sua aplicação e chame-o. Passe argumentos opcionais como um registro "{ ... }”. O exemplo a seguir inclui todos os argumentos opcionais.