Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memanggil Fungsi Ditakrifkan SQL (UDF) dengan betul dari C#?

Bagaimana untuk Memanggil Fungsi Ditakrifkan SQL (UDF) dengan betul dari C#?

Mary-Kate Olsen
Lepaskan: 2024-12-25 16:11:09
asal
299 orang telah melayarinya

How to Correctly Call SQL Defined Functions (UDFs) from C#?

Memanggil Fungsi Ditakrifkan SQL dalam C#

Menyiasat pangkalan data menggunakan fungsi yang ditentukan SQL daripada kod C# memerlukan pertimbangan khusus apabila mengakses fungsi yang ditentukan pengguna ( UDF) dalam pertanyaan SQL. Begini cara anda boleh memanggil fungsi skalar T-SQL bernama "Tcupom" daripada kod C# anda:

Fungsi SQL:

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

Kod C#:

Ralat dalam Asal Kod:
Kod C# asal membuat dua kesilapan:

  1. Memanggil nama UDF secara langsung sebagai arahan, yang bukan sintaks yang betul untuk mengakses UDF.
  2. Menetapkan CommandType kepada StoredProcedure apabila ia sepatutnya Teks untuk UDFs.

Kod Dibetulkan:
Kod yang diperbetulkan di bawah menunjukkan cara memanggil fungsi "Tcupom" dengan betul daripada C#:

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

Penjelasan:

  • Objek SqlCommand ialah dibina dengan pernyataan pertanyaan SQL yang merangkumi nama UDF yang layak sepenuhnya, dbo.Tcupom.
  • Objek SqlParameter ditakrifkan dengan nama parameter input UDF, @code, dan nilainya ditetapkan kepada parameter cupom yang dihantar kepada kaedah C#.
  • Kaedah ExecuteScalar() digunakan untuk melaksanakan UDF dan mendapatkan semula skalarnya hasil.

Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Ditakrifkan SQL (UDF) dengan betul dari 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