Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Aufrufen einer SQL-definierten Funktion in C#

Sie können nicht einfach den Funktionsnamen aufrufen, Sie müssen eine Inline-SQL-Anweisung schreiben, die die UDF verwendet:

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

Und entfernen Sie den CommandType , dies ist keine gespeicherte Prozedur, sondern eine benutzerdefinierte Funktion.

Insgesamt:

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