Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memanggil Fungsi Ditentukan Pengguna SQL (UDF) daripada C#?

Bagaimana untuk Memanggil Fungsi Ditentukan Pengguna SQL (UDF) daripada C#?

Mary-Kate Olsen
Lepaskan: 2024-12-27 17:41:11
asal
592 orang telah melayarinya

How to Call a SQL User-Defined Function (UDF) from 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;
}
Salin selepas log masuk

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

Dalam kod yang diubah suai ini, pernyataan SQL sebaris baharu digunakan:

SqlCommand Totalf = new SqlCommand("SELECT dbo.Tcupom(@code)", conex1);
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan