


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
(
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(); } }
}
以上代码通过执行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(); } }
}
以上代码通过执行"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,
KUNCI UTAMA (
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;
{
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(); } }
}
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:
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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.

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 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.

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.

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).

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.

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)
