Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memanggil Fungsi Ditentukan Pengguna SQL (UDF) daripada C#?
Memanggil SQL User-Defined Function (UDF) dalam C#
Anda ingin berinteraksi dengan fungsi skalar SQL daripada kod C# anda, dan kod C# berikut telah disediakan:
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, anda menghadapi ralat. Sebab untuk ini ialah, tidak seperti prosedur tersimpan, anda tidak boleh memanggil UDF secara langsung dalam SQL daripada C#.
Penyelesaian:
Untuk menggunakan UDF dalam C#, anda perlu menggunakan pernyataan SQL sebaris. Berikut ialah kod yang dilaraskan:
public void TotalCupom(int cupom) { float SAIDA; SqlDataAdapter da2 = new SqlDataAdapter(); if (conex1.State == ConnectionState.Closed) { conex1.Open(); } // Use an inline SQL statement with the UDF SqlCommand Totalf = new SqlCommand("SELECT dbo.Tcupom(@code)", conex1); SqlParameter code1 = new SqlParameter("@code", SqlDbType.Int); code1.Value = cupom; SAIDA = Totalf.ExecuteScalar(); return SAIDA; }
Dalam kod yang diubah suai ini, pernyataan SQL sebaris baharu digunakan:
SqlCommand Totalf = new SqlCommand("SELECT dbo.Tcupom(@code)", conex1);
Pernyataan ini merujuk UDF dengan nama yang layak sepenuhnya (dbo.Tcupom ) dan termasuk parameter untuk nilai input @code. Dengan menggunakan pendekatan ini, anda boleh menghubungi Tcupom UDF dan mendapatkan semula hasilnya dalam kod C# anda.
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Ditentukan Pengguna SQL (UDF) daripada C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!