Rumah pangkalan data tutorial mysql Bagaimana untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan C#

Bagaimana untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan C#

Sep 22, 2023 am 09:42 AM
mysql prosedur tersimpan c#

Bagaimana untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan C#

Cara menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan C#

Pengenalan:
MySQL ialah pangkalan data sumber terbuka yang digunakan secara meluas sistem pengurusan, dan C# ialah bahasa pengaturcaraan berorientasikan objek yang biasa digunakan. Semasa proses pembangunan, kita sering perlu menggunakan prosedur dan fungsi yang disimpan pangkalan data untuk meningkatkan kebolehgunaan dan prestasi kod semula. Artikel ini akan memperkenalkan cara menggunakan C# untuk menulis prosedur dan fungsi tersimpan tersuai dalam pangkalan data MySQL, dan menyediakan contoh kod khusus.

1. Prosedur tersimpan
Prosedur tersimpan ialah satu set pernyataan SQL yang melaksanakan tugas tertentu. Berikut akan memperkenalkan secara terperinci cara menulis prosedur tersimpan tersuai dalam MySQL menggunakan C#.

1.1 Cipta prosedur tersimpan
Pertama, cipta pangkalan data baharu dalam MySQL dan buat jadual data bernama "TestDB". Struktur jadual adalah seperti berikut:

BUAT JADUAL TestTable (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;

接下来,在Visual Studio中创建一个新的C#控制台应用程序。通过MySQL连接字符串连接到数据库,然后执行以下代码来创建一个名为"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();
    }
}
Salin selepas log masuk

}

以上代码通过执行CREATE PROCEDURE语句来创建了一个名为"GetAllData"的存储过程。这个存储过程在数据库中可以直接调用,将返回TestTable表中的所有数据。

1.2 调用存储过程
接下来,我们来演示如何在C#中调用刚刚创建的存储过程。

在上一步骤的基础上,我们可以编写以下代码来调用存储过程并获取返回的数据:

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();
    }
}
Salin selepas log masuk

}

以上代码通过执行"GetAllData"存储过程来获取TestTable表中的所有数据,并将结果输出到控制台。

二、函数
函数是一个可重用的SQL代码块,它将输入参数的值计算后返回一个值。下面将详细介绍如何在MySQL中使用C#编写自定义函数。

2.1 创建函数
在MySQL中创建一个名为"GetAverageAge"的函数,它将计算TestTable表中所有人的平均年龄并返回。

创建函数的代码如下所示:

CREATE FUNCTION GetAverageAge id int(11) NOT NULL AUTO_INCREMENT,
< kod>nama varchar(100) NULL LALAI,
umur int(11) NULL LALAI,
KUNCI UTAMA (id) # 🎜🎜#) ENGINE=CHARSET LALAI InnoDB=utf8;

Seterusnya, cipta aplikasi konsol C# baharu dalam Visual Studio. Sambung ke pangkalan data melalui rentetan sambungan MySQL dan kemudian laksanakan kod berikut untuk mencipta prosedur tersimpan bernama "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);
        
        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();
    }
}
Salin selepas log masuk

}

Kod di atas mencipta prosedur tersimpan bernama "GetAllData" dengan melaksanakan pernyataan CREATE PROCEDURE. Prosedur tersimpan ini boleh dipanggil terus dalam pangkalan data dan akan mengembalikan semua data dalam jadual TestTable.

1.2 Memanggil prosedur tersimpan

Seterusnya, mari kita tunjukkan cara memanggil prosedur tersimpan yang baru dibuat dalam C#.

Berdasarkan langkah sebelumnya, kita boleh menulis kod berikut untuk memanggil prosedur yang disimpan dan mendapatkan data yang dikembalikan:

menggunakan MySql.Data.MySqlClient;#🎜🎜# #🎜🎜#namespace MySQLExample#🎜🎜#{#🎜🎜#rrreee#🎜🎜#}#🎜🎜##🎜🎜#Kod di atas memperoleh semua data dalam jadual TestTable dengan melaksanakan "GetAllData saves" keputusan Output ke konsol. #🎜🎜##🎜🎜# 2. Fungsi #🎜🎜#Fungsi ialah blok kod SQL boleh guna semula yang mengira nilai parameter input dan mengembalikan nilai. Berikut akan memperkenalkan secara terperinci cara menulis fungsi tersuai dalam MySQL menggunakan C#. #🎜🎜##🎜🎜#2.1 Cipta fungsi #🎜🎜#Buat fungsi bernama "GetAverageAge" dalam MySQL, yang akan mengira purata umur semua orang dalam jadual TestTable dan mengembalikannya. #🎜🎜##🎜🎜#Kod untuk mencipta fungsi adalah seperti berikut: #🎜🎜##🎜🎜#CIPTA FUNGSI GetAverageAge() RETURNS INT(11)#🎜🎜#BEGIN#🎜 🎜# ISYTIHKAN avg_age INT(11);#🎜🎜#SELECT AVG(age) IN TO avg_age from TestTable;#🎜🎜#RETURN avg_age;#🎜🎜#END#🎜🎜###🎜🎜🎜###🎜🎜🎜🎜###🎜🎜🎜 melalui Kod berikut untuk memanggil fungsi yang baru dibuat dan mendapatkan nilai yang dikembalikan: #🎜🎜##🎜🎜#using MySql.Data.MySqlClient;#🎜🎜##🎜🎜#namespace MySQLExample#🎜🎜#{#🎜🎜 rrreee#🎜 🎜#}#🎜🎜##🎜🎜#Kod di atas memanggil fungsi "GetAverageAge" dengan melaksanakan pernyataan SELECT GetAverageAge() dan memperoleh purata umur yang dikembalikan oleh fungsi tersebut. #🎜🎜##🎜🎜#Kesimpulan: #🎜🎜#Artikel ini memperkenalkan cara menggunakan C# untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL, dan menyediakan contoh kod khusus. Prosedur dan fungsi yang disimpan boleh meningkatkan kebolehgunaan dan prestasi semula kod dan sesuai untuk pelbagai keperluan pemprosesan data yang kompleks. Dengan menggunakan C# untuk menyambung ke pangkalan data MySQL, kami boleh menulis dan memanggil prosedur dan fungsi tersimpan secara fleksibel, dengan itu memberikan permainan penuh kepada kelebihan pangkalan data MySQL. #🎜🎜#

Atas ialah kandungan terperinci Bagaimana untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MySQL: Kemudahan Pengurusan Data untuk Pemula MySQL: Kemudahan Pengurusan Data untuk Pemula Apr 09, 2025 am 12:07 AM

MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Apr 08, 2025 pm 09:51 PM

Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Mysql: Konsep mudah untuk pembelajaran mudah Mysql: Konsep mudah untuk pembelajaran mudah Apr 10, 2025 am 09:29 AM

MySQL adalah sistem pengurusan pangkalan data sumber terbuka. 1) Buat Pangkalan Data dan Jadual: Gunakan perintah Createdatabase dan Createtable. 2) Operasi Asas: Masukkan, Kemas kini, Padam dan Pilih. 3) Operasi lanjutan: Sertai, subquery dan pemprosesan transaksi. 4) Kemahiran Debugging: Semak sintaks, jenis data dan keizinan. 5) Cadangan Pengoptimuman: Gunakan indeks, elakkan pilih* dan gunakan transaksi.

Ujian C# .NET Aplikasi: Unit, Integrasi, dan Ujian Akhir ke Akhir Ujian C# .NET Aplikasi: Unit, Integrasi, dan Ujian Akhir ke Akhir Apr 09, 2025 am 12:04 AM

Strategi ujian untuk aplikasi C#. NET termasuk ujian unit, ujian integrasi, dan ujian akhir-ke-akhir. 1. Ujian unit memastikan bahawa unit minimum kod berfungsi secara bebas, menggunakan rangka kerja MSTest, Nunit atau Xunit. 2. Ujian Bersepadu Mengesahkan fungsi pelbagai unit yang digabungkan, data simulasi yang biasa digunakan dan perkhidmatan luaran. 3. Ujian akhir-ke-akhir mensimulasikan proses operasi lengkap pengguna, dan selenium biasanya digunakan untuk ujian automatik.

Cara Melaksanakan SQL di Navicat Cara Melaksanakan SQL di Navicat Apr 08, 2025 pm 11:42 PM

Langkah -langkah untuk melaksanakan SQL di Navicat: Sambungkan ke pangkalan data. Buat tetingkap editor SQL. Tulis pertanyaan SQL atau skrip. Klik butang Run untuk melaksanakan pertanyaan atau skrip. Lihat hasilnya (jika pertanyaan dilaksanakan).

Cara Membuat Sambungan Baru ke MySQL di Navicat Cara Membuat Sambungan Baru ke MySQL di Navicat Apr 09, 2025 am 07:21 AM

Anda boleh membuat sambungan MySQL baru di Navicat dengan mengikuti langkah -langkah: Buka aplikasi dan pilih Sambungan Baru (Ctrl N). Pilih "MySQL" sebagai jenis sambungan. Masukkan nama host/alamat IP, port, nama pengguna, dan kata laluan. (Pilihan) Konfigurasikan pilihan lanjutan. Simpan sambungan dan masukkan nama sambungan.

Navicat menyambung ke kod ralat dan penyelesaian pangkalan data Navicat menyambung ke kod ralat dan penyelesaian pangkalan data Apr 08, 2025 pm 11:06 PM

Kesilapan dan penyelesaian yang biasa apabila menyambung ke pangkalan data: Nama pengguna atau kata laluan (ralat 1045) Sambungan blok firewall (ralat 2003) Timeout sambungan (ralat 10060)

See all articles