如何从ado.net调用TSQL函数

时间:2010-11-10 14:09:41

标签: sql-server ado.net

我在SQL Server中定义了一个函数(带字符串和int)如何用ADO.NET调用它?

(如果它与调用存储过程100%相同,请说明,因为有很多关于调用存储过程的例子)

1 个答案:

答案 0 :(得分:26)

唯一的区别是您必须为返回值添加特殊参数

请参阅: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;
  }