Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Agregar un origen de datos
Acceso directo:
Si selecciona la opción Iniciar con datos al crear una aplicación, la propiedad Items de la galería usa una fórmula de Power Fx con un nombre de origen de datos que apunta directamente a la tabla de base de datos.
Por ejemplo, si tiene una BOOKLENDING tabla, verá esta fórmula:
Search([@'[dbo].[BOOKLENDING]'], SearchInput1.Text, author, author,book_name,category)
Vistas y procedimientos almacenados:
Un patrón de acceso a datos profesionales común es usar vistas y, a continuación, procedimientos almacenados para crear, actualizar y eliminar en lugar de permitir el acceso directo. Si desea usar vistas o procedimientos almacenados, cambie la fórmula de ejemplo. Del mismo modo, el formulario del registro no usa el enfoque directo integrado de la SubmitForm() fórmula.
Desencadenadores:
Un patrón de base de datos consiste en utilizar desencadenadores en las tablas. Si una tabla tiene un desencadenador, no puede usar el patrón Submit() directo para crear, actualizar y eliminar.
Submit() entra en conflicto con el control de desencadenadores de SQL y el comportamiento integrado de Power Apps, que usan el mismo parámetro de salida.
Puede acceder directamente a la tabla para las consultas, pero para controlar Create, Updateo Delete, llamar a un procedimiento almacenado.
Nota
El conector de SQL Server, como todos los conectores que funcionan con datos relacionales, supone que las tablas tienen una clave principal. Una clave principal es fundamental para encontrar registros específicos para actualizar. Si una tabla de SQL Server no tiene una clave principal, los datos son de solo lectura. Si tiene derechos de acceso y edición en la tabla SQL Server, considere la posibilidad de agregar una clave generada automáticamente.
Usar una vista
Una vista es una consulta guardada que se muestra como una sola tabla de datos.
Las vistas aparecen en la lista de tablas que puede seleccionar al agregar un origen de datos. Las vistas solo admiten consultas, no actualizaciones. Para actualizar los datos, use un procedimiento almacenado.
Si crea una tabla con la Start with data opción , obtendrá pantallas y fórmulas que muestran registros en una galería y un formulario. Verá fórmulas y funcionalidades para crear, editar y eliminar registros. Pero si usa una vista, solo verá una pantalla de visualización para la galería y el formulario.
Es posible que desee las pantallas generadas automáticamente desde Start with data para las vistas.
Para usar esta opción generada automáticamente:
- Elija
Start with datacon una tabla básica. - Elimine y reemplace el origen de datos de la tabla.
Ejemplo:
Por ejemplo, si tiene una BOOKLENDINGVIEW tabla y la agrega como origen de datos para Power Apps, la fórmula puede ser tan sencilla como:
BOOKLENDINGVIEW
También puede reemplazar otras fórmulas de creación, actualización y eliminación con un origen de datos de vista y llamadas a procedimientos almacenados.
Utilizar procedimientos almacenados
Al agregar una conexión SQL Server a la aplicación, puede agregar procedimientos almacenados y llamarlos directamente en Power Fx.
Nota
Esta característica también funciona con conexiones implícitas seguras.
Después de seleccionar un procedimiento almacenado, aparece un nodo secundario y puede designar el procedimiento almacenado como Seguro para usarlo para galerías y tablas.
Un procedimiento almacenado es seguro si no realiza ninguna acción que pueda ser no deseada en determinados escenarios. Por ejemplo, si un procedimiento almacenado recopila todas las cuentas de una ciudad determinada y, a continuación, los envía por correo electrónico, es posible que no siempre quiera que se envíen correos electrónicos cada vez que se llame al procedimiento almacenado. En ese caso, no marque el procedimiento almacenado como seguro.
Marque que un procedimiento almacenado es seguro sólo si:
No hay efectos secundarios al llamar a este procedimiento a demanda.
Puede llamar al procedimiento varias veces o cada vez que Power Apps actualice el control. Cuando se usa con una propiedad Items de una galería o tabla, Power Apps llama al procedimiento almacenado cada vez que el sistema determina que se necesita una actualización. No puede controlar cuándo se llama al procedimiento almacenado.
El procedimiento almacenado devuelve una cantidad modesta de datos.
Las llamadas de acción, como los procedimientos almacenados, no tienen un límite en el número de filas recuperadas. No se paginan automáticamente en incrementos de 100 registros, como orígenes de datos tabulares, como tablas o vistas.
Si el procedimiento almacenado devuelve demasiados datos (muchos miles de registros), la aplicación podría ralentizarse o bloquearse. Por motivos de rendimiento, traiga menos de 2000 registros.
Si comprueba un procedimiento almacenado como seguro, puede asignarlo como una propiedad Items en galerías o tablas de la aplicación.
Importante
El esquema de los valores devueltos del procedimiento almacenado debe ser estático, para que los valores no cambien de una llamada a otra. Por ejemplo, si un procedimiento almacenado devuelve dos tablas, siempre devuelve dos tablas. Puede trabajar con resultados específicos o dinámicos.
La estructura de los resultados también debe ser estática. Por ejemplo, si el esquema de los resultados es dinámico, los resultados son dinámicos y debe proporcionar un tipo específico para usarlos en Power Apps. Para obtener más información, consulte resultados dinámicos.
Espacio de nombres SQL antepuesto al nombre del procedimiento almacenado
El nombre del espacio de nombres de SQL Server, donde se almacena el procedimiento, se agrega al inicio del nombre del procedimiento almacenado. Por ejemplo, todos los procedimientos almacenados en el espacio de nombres "DBO" de SQL Server tienen 'dbo' al principio del nombre.
Por ejemplo, al agregar un procedimiento almacenado, es posible que vea más de un origen de datos en el proyecto.
Llamar a un procedimiento almacenado
Para usar un procedimiento almacenado en Power Apps, agregue el nombre del conector antes del nombre del procedimiento almacenado, como Paruntimedb.dbonewlibrarybook.
Nota
Cuando Power Apps incluye el procedimiento almacenado, combina el espacio de nombres y el nombre del procedimiento para que dbo.newlibrarybook se convierta en dbonewlibrarybook.
Los argumentos se pasan como registro de Power Apps con pares de valores con nombre:
<datasourceName>.<StoredprocedureName>({<paramName1: value, paramName2: value, ... >})
Propina
Convierta los valores si es necesario a medida que los pasa al procedimiento almacenado, ya que está leyendo desde un valor de texto en Power Apps. Por ejemplo, si va a actualizar un entero en SQL, convierta el texto en el campo mediante Value().
Este es un ejemplo del aspecto que podrían tener los procedimientos almacenados al asignarlos a una propiedad OnSelect.
Variables y todos los procedimientos almacenados
Acceda a un procedimiento almacenado para la propiedad Items de una galería después de declararlo seguro para la interfaz de usuario. Haga referencia al nombre del origen de datos y al nombre del procedimiento almacenado seguido de ResultSets. Acceda a varios resultados haciendo referencia al conjunto de tablas devueltas, como la tabla 1, la tabla 2, etc.
Por ejemplo, un procedimiento almacenado de la tabla Paruntimedb con el nombre dbo.spo_show_all_library_books() tiene el siguiente aspecto:
Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1
Esta consulta llena la galería con registros. Sin embargo, los procedimientos almacenados son comportamientos de acción en el modelo tabular.
Refresh() solo funciona con orígenes de datos tabulares y no funciona con procedimientos almacenados. Actualice la galería cuando se cree, actualice o elimine un registro.
Nota
Cuando se utiliza un Submit() en un formulario para una fuente de datos tabular, efectivamente llama a Refresh() de forma silenciosa y actualiza la galería.
Usar una variable para rellenar y actualizar la galería
Use una variable en la OnVisible propiedad de la pantalla y establezca el procedimiento almacenado en la variable .
Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);
A continuación, puede establecer la propiedad Items de la galería con el nombre de la variable.
SP_Books
Después de crear, actualizar o eliminar un registro con una llamada al procedimiento almacenado, establezca la variable de nuevo para actualizar la galería.
Paruntimedb.dbonewlibrarybook({
book_name: DataCardValue3_2.Text,
author: DataCardValue1_2.Text,
...
});
Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);
Utilice Power Automate para llamar a procedimientos almacenados
Power Automate maneja mejor las acciones asincrónicas. Llame a procedimientos almacenados como parte de una serie de llamadas en un proceso empresarial.
Para llamar a Power Automate y, a continuación, llamar a procedimientos almacenados, cree variables de entrada como parte del flujo.
A continuación, pase las variables de entrada a la llamada del procedimiento almacenado.
Agregue este flujo de Power Automate a su aplicación y llámelo. Pase argumentos opcionales como un registro "{ ... }”. En el ejemplo siguiente se incluyen todos los argumentos opcionales.