"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Appelez correctement la méthode de la fonction personnalisée SQL (UDF) de C #

Appelez correctement la méthode de la fonction personnalisée SQL (UDF) de C #

Publié le 2025-04-18
Parcourir:725

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

Appel des fonctions définies SQL dans C #

Interroger une base de données à l'aide de fonctions définies par SQL à partir d'un C # Code spécifique lors de l'accès à des fonctions définies par l'utilisateur (UDFS) dans un SQL Query. Voici comment vous pouvez appeler une fonction scalar t-sql nommée "tCupom" à partir de votre code C #:

sql function:

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:

Erreur dans le code original:
Le code C # original a fait deux erreurs:

  1. Cappel du nom de l'UDF directement en tant que commande, qui n'est pas la syntaxe correcte pour un accession Udfs.
  2. Définition du CommandType sur StoredProcedure quand il devrait être du texte pour UDFS.

CODE CORRÉCÉ:
Le code corrigé ci-dessous démontre comment appeler correctement le "TCupom" Fonction " cupom) { Float Saida; SQLDATAADAPTER DA2 = NOUVEAU 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 (); Retour Saida; }

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

L'objet SqlCommand est construit avec une instruction de requête SQL qui inclut le nom entièrement qualifié de l'UDF, DBO.TCUPOM. La valeur est définie sur le paramètre Cupom transmis à la méthode C #.
  • La méthode ExecuteScalar () est utilisée pour exécuter le UDF et récupérer son résultat scalaire.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3