Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memanggil Fungsi Ditakrifkan Pengguna T-SQL daripada C#?

Bagaimana untuk Memanggil Fungsi Ditakrifkan Pengguna T-SQL daripada C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-04 21:18:43291semak imbas

How to Call a T-SQL User-Defined Function from C#?

Memanggil SQL Defined Functions daripada C

Memanggil SQL Defined Functions (UDF) daripada C# boleh kelihatan seperti pengejaran labirin, tetapi dengan mantera yang betul, anda boleh mewujudkan persekutuan antara kod C# anda dan pangkalan data yang misterius berfungsi.

Fungsi skalar TSQL anda, TCupom, bersedia untuk mendedahkan jumlah nilai yang dikaitkan dengan pesanan tertentu, tetapi untuk menggunakan kuasanya daripada C#, anda perlu melaraskan pendekatan anda.

Ejaan Memanggil

Coretan kod awal cuba untuk gunakan UDF menggunakan sintaks prosedur tersimpan, tetapi UDF menuntut pendekatan yang berbeza: SQL sebaris. Ubah suai pemulaan arahan anda seperti berikut:

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

Pertanyaan ini memanggil fungsi Tcupom secara eksplisit dan menyediakan parameternya, @code.

Invokasi Akhir

Setelah ejaan selesai, kod anda yang disemak seharusnya serupa ini:

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;
}

Kini, kod C# anda menyalurkan kuasa TSQL UDF anda, membolehkan anda mendedahkan kedalaman tersembunyi bagi jumlah pesanan.

Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Ditakrifkan Pengguna T-SQL daripada C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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