2010-11-10 7 views
17

Ich habe eine Funktion in SQL Server definiert (die eine Zeichenfolge und ein int) wie ich es mit ADO.NET aufrufen?Wie rufe ich eine TSQL-Funktion von ado.net

(Wenn es eine gespeicherte Prozedur als Aufruf zu 100% identisch ist, bitte sagen Sie einfach so, wie es viele Beispiele für gespeicherte Prozeduren zu nennen)

Antwort

26

Der einzige Unterschied ist, dass Sie eine spezielle Paramter hinzugefügt haben müssen für den Rückgabewert

Siehe auch: MySqlCommand call function

using (var connection = new SqlConnection("ConnectionString")) 
    using (var command = connection.CreateCommand()) 
    { 
    command.CommandType = CommandType.StoredProcedure; 
    command.CommandText = "MyFunction"; 

    SqlParameter returnValue = command.Parameters.Add("@RETURN_VALUE", SqlDbType.Int); 
    returnValue.Direction = ParameterDirection.ReturnValue; 

    connection.Open(); 
    command.ExecuteNonQuery(); 

    return returnValue.Value; 
    } 
Verwandte Themen