Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memanggil Fungsi Ditentukan Pengguna (UDF) Pelayan SQL dengan betul daripada C#?
Memanggil Fungsi Ditakrifkan SQL dalam C# Menggunakan SQL Sebaris
Dalam Pelayan SQL, fungsi takrif pengguna (UDF) boleh meningkatkan manipulasi dan analisis data keupayaan. Untuk menggunakan UDF skalar daripada kod C#, adalah penting untuk menggunakan pendekatan yang betul.
Pertimbangkan UDF skalar TSQL berikut:
create function TCupom (@cupom int) returns float as begin declare @Tcu float; select @Tcu = sum (total) from alteraca2 where pedido = @cupom if (@tcu is null) set @tcu = 0; return @tcu; end
Untuk memanggil fungsi ini dalam kod C#, seseorang boleh mencuba untuk menggunakan sintaks seperti prosedur yang disimpan:
public void TotalCupom(int cupom) { float SAIDA; SqlDataAdapter da2 = new SqlDataAdapter(); if (conex1.State == ConnectionState.Closed) { conex1.Open(); } SqlCommand Totalf = new SqlCommand("Tcupom", conex1); SqlParameter code1 = new SqlParameter("@code", SqlDbType.Int); code1.Value = cupom ; Totalf.CommandType = CommandType.StoredProcedure ; SAIDA = Totalf.ExecuteScalar(); return SAIDA; }
Walau bagaimanapun, pendekatan ini tidak betul. Untuk menggunakan UDF, anda perlu menggunakan SQL sebaris dalam objek SqlCommand:
SqlCommand Totalf = new SqlCommand("SELECT dbo.Tcupom(@code)", conex1);
Adalah penting untuk mengalih keluar sifat CommandType, kerana UDF bukan prosedur yang disimpan.
Kod yang diubah suai akan muncul seperti berikut:
public void TotalCupom(int cupom) { float SAIDA; SqlDataAdapter da2 = new SqlDataAdapter(); if (conex1.State == ConnectionState.Closed) { conex1.Open(); } SqlCommand Totalf = new SqlCommand("SELECT dbo.Tcupom(@code)", conex1); SqlParameter code1 = new SqlParameter("@code", SqlDbType.Int); code1.Value = cupom; SAIDA = Totalf.ExecuteScalar(); return SAIDA; }
Dengan menggunakan SQL sebaris untuk memanggil UDF, pembangun boleh memanfaatkan kuasa fungsi yang ditentukan pengguna dengan berkesan dalam aplikasi C# mereka.
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Ditentukan Pengguna (UDF) Pelayan SQL dengan betul daripada C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!