Home > Database > Mysql Tutorial > body text

How to write custom stored procedures and functions in MySQL using C#

WBOY
Release: 2023-09-22 09:42:30
Original
885 people have browsed it

How to write custom stored procedures and functions in MySQL using C#

How to write custom stored procedures and functions in MySQL using C

#Introduction:
MySQL is a widely used open source database management system, and C# is A commonly used object-oriented programming language. During the development process, we often need to use database stored procedures and functions to improve code reusability and performance. This article will introduce how to use C# to write custom stored procedures and functions in a MySQL database, and provide specific code examples.

1. Stored procedures
A stored procedure is a set of SQL statements that perform specific tasks. The following will introduce in detail how to write custom stored procedures in MySQL using C#.

1.1 Create a stored procedure
First, create a new database in MySQL and create a data table named "TestDB". The table structure is as follows:

CREATE TABLE TestTable (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(100) DEFAULT NULL,
age int(11) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Next, create a new C# console application in Visual Studio. Connect to the database via the MySQL connection string, and then execute the following code to create a stored procedure named "GetAllData":

using MySql.Data.MySqlClient;

namespace MySQLExample
{

class Program
{
    static void Main(string[] args)
    {
        string connectionString = "server=localhost;username=root;password=password;database=TestDB";
        MySqlConnection connection = new MySqlConnection(connectionString);
        MySqlCommand cmd = new MySqlCommand();
        cmd.Connection = connection;

        cmd.CommandText = "CREATE PROCEDURE GetAllData() " +
                           "BEGIN " +
                           "SELECT * FROM TestTable; " +
                           "END";

        try
        {
            connection.Open();
            cmd.ExecuteNonQuery();
            Console.WriteLine("存储过程创建成功!");
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            connection.Close();
        }

        Console.ReadKey();
    }
}
Copy after login

}

The above code creates a stored procedure named "GetAllData" by executing the CREATE PROCEDURE statement. This stored procedure can be called directly in the database and will return all the data in the TestTable table.

1.2 Calling the stored procedure
Next, let’s demonstrate how to call the just created stored procedure in C#.

Based on the previous step, we can write the following code to call the stored procedure and get the returned data:

using MySql.Data.MySqlClient;

namespace MySQLExample
{

class Program
{
    static void Main(string[] args)
    {
        string connectionString = "server=localhost;username=root;password=password;database=TestDB";
        MySqlConnection connection = new MySqlConnection(connectionString);
        MySqlCommand cmd = new MySqlCommand();
        cmd.Connection = connection;

        cmd.CommandText = "GetAllData";
        cmd.CommandType = CommandType.StoredProcedure;

        try
        {
            connection.Open();
            MySqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                Console.WriteLine(reader["id"].ToString() + " " + reader["name"].ToString() + " " + reader["age"].ToString());
            }

            reader.Close();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            connection.Close();
        }

        Console.ReadKey();
    }
}
Copy after login

}

The above code obtains all the data in the TestTable table by executing the "GetAllData" stored procedure, and outputs the results to the console.

2. Function
The function is a reusable SQL code block that calculates the value of the input parameter and returns a value. The following will introduce in detail how to write custom functions in MySQL using C#.

2.1 Create function
Create a function named "GetAverageAge" in MySQL, which will calculate the average age of all people in the TestTable table and return it.

The code to create the function is as follows:

CREATE FUNCTION GetAverageAge() RETURNS INT(11)
BEGIN
DECLARE avg_age INT(11);
SELECT AVG(age) INTO avg_age FROM TestTable;
RETURN avg_age;
END

2.2 Call the function
Use the following code to call the function just created and get the returned value:

using MySql.Data.MySqlClient;

namespace MySQLExample
{

class Program
{
    static void Main(string[] args)
    {
        string connectionString = "server=localhost;username=root;password=password;database=TestDB";
        MySqlConnection connection = new MySqlConnection(connectionString);
        
        try
        {
            connection.Open();
            MySqlCommand cmd = new MySqlCommand("SELECT GetAverageAge()", connection);
            int averageAge = Convert.ToInt32(cmd.ExecuteScalar());

            Console.WriteLine("平均年龄:" + averageAge);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            connection.Close();
        }

        Console.ReadKey();
    }
}
Copy after login

}

The above code is called by executing the SELECT GetAverageAge() statement "GetAverageAge" function and get the average age returned by the function.

Conclusion:
This article introduces how to use C# to write custom stored procedures and functions in MySQL, and provides specific code examples. Stored procedures and functions can improve code reusability and performance and are suitable for various complex data processing needs. By using C# to connect to the MySQL database, we can flexibly write and call stored procedures and functions, thereby giving full play to the advantages of the MySQL database.

The above is the detailed content of How to write custom stored procedures and functions in MySQL using C#. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template