Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Chiamare la funzione definita da SQL in C#

Non puoi semplicemente chiamare il nome della funzione, dovrai scrivere un'istruzione SQL inline che utilizzi l'UDF:

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

E rimuovi il CommandType , questa non è una stored procedure, è una funzione definita dall'utente.

In tutto:

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