„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Rufen Sie die UDF -Methode (SQL Custom Function) korrekt auf C# auf

Rufen Sie die UDF -Methode (SQL Custom Function) korrekt auf C# auf

Gepostet am 2025-04-18
Durchsuche:829

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

sql definierte Funktionen in C#

Abfragen einer Datenbank mit SQL-definierten Funktionen von C# Code erfordert spezifische Überlegungen. So können Sie eine T-SQL-Skalarfunktion namens "tcupom" aus Ihrem C# Code anrufen:

SQL-Funktion:

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

C# Code:

Error in Original Code:
The original C# code made two mistakes:

  1. Calling the UDF's name directly as a command, which is not the correct syntax for accessing Udfs.
  2. das commandtype in gespeededProcedure einstellen, wenn es Text für udfs sein sollte. Cupom) { float saita; SqldataAdapter da2 = new SqldataAdapter (); if (conex1.state == ConnectionState.cloded) { conex1.open (); } SQLCommand TotalF = New SQLCommand ("DBO.TCUPOM (@CODE), CONEX1); SQLParameter code1 = new SQLParameter ("@code", sqldbType.int); code1.Value = cupom; Saida = Totalf.executescalar (); Rückkehr Saida; }

Erläuterung:

Das SQLCommand -Objekt ist mit einer SQL -Abfrageanweisung konstruiert, die den voll qualifizierten Namen des UDF -Namens des UDF enthält. Wert wird auf den an die C# -Methode übergebenen Cupom -Parameter eingestellt.
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;
}
Die methode executesCalar () wird verwendet, um die UDF auszuführen und ihr skalares Ergebnis abzurufen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3