Calling SQL Stored Procedures in Canvas App




Utilizing Stored Procedures with Canvas Apps

Canvas Apps, a component of Microsoft’s Power Apps suite, is a potent tool that empowers users to construct custom applications without the need for extensive coding. Among its many features is the capability to invoke stored procedures from a database. This guide will walk you through the process of invoking a stored procedure from a Canvas App.

Preparation

Before we embark, ensure you have:

  • A Canvas App developed in Power Apps.
  • A database containing the stored procedure you wish to invoke.
  • The SQL Server connector configured in your Canvas App.

Steps to Invoke a Stored Procedure


Step 1. Enabling the Upcoming Feature for SQL Stored Procedure

To enable the upcoming feature for SQL Stored Procedure, follow these steps:

  • Go to App settings.
  • Navigate to Upcoming features.
  • Search for SQL.
  • Enable the toggle.

This will activate the upcoming feature for SQL Stored Procedure in your Canvas App.


Step 2. Incorporate a Data Source

Initially, you need to incorporate a data source to your Canvas App that links to your database. Here’s how:

  • Navigate to the View tab and select Data sources.
  • Click on Add data source and choose the SQL Server connector.


  • Provide the necessary details to link to your database and click Connect.


Step 3. Invoke the Stored Procedure

With the data source in place, you can now invoke the stored procedure. Here’s how:

  • Navigate to the screen where you want to invoke the stored procedure.
  • Add a button and assign its OnSelect property to the following formula:

ClearCollect(

    ResultCollection,

    '[dbo].[YourStoredProcedureName]'(

        Param1: TextInput1.Text,

        Param2: TextInput2.Text

    )

)

Replace ‘YourStoredProcedureName’ with your stored procedure’s name and Param1, Param2 with the parameters your stored procedure needs. TextInput1.Text, TextInput2.Text are the inputs for these parameters.


Step 3. Utilize the Results

The ClearCollect function gathers the stored procedure’s results into a collection named ResultCollection. You can utilize this collection in your app as follows:

First(ResultCollection).ColumnName

Replace ColumnName with the column name you want to display.



Benefits of Invoking Stored Procedures from Canvas Apps

  • Enhanced Performance: Stored procedures are compiled once and stored in an executable form, ensuring quick and efficient execution. By delegating complex calculations or queries to the server, your app remains lightweight and responsive.
  • Centralized Logic: Stored procedures encapsulate business logic within the database, allowing for consistent data manipulation.
  • Security and Access Control: Stored procedures enable control over specific database operations. You can grant permissions to execute stored procedures while limiting direct table access.
  • Parameter Passing: Stored procedures accept parameters, making them flexible and reusable. This parameterization allows for dynamic queries and customizations.
  • Reduced Network Traffic: Executing stored procedures on the server minimizes data transfer between the app and the database, beneficial for mobile apps with limited bandwidth.
  • Code Reusability: You can save and reuse SQL code across different parts of your app, promoting consistency and reducing redundancy.


 

Comments