Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Chamando a função definida por SQL em C #


Você não pode simplesmente chamar o nome da função, você precisará escrever uma instrução SQL inline que faça uso da UDF:
SqlCommand Totalf = new SqlCommand("SELECT dbo.Tcupom(@code)", conex1);

E remova o CommandType , isso não é um procedimento armazenado, é uma função definida pelo usuário.

Em tudo:
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;
}