如何使用c#执行sql用户定义的函数?

时间:2014-12-02 11:08:31

标签: c# sql

如何使用与执行存储过程相同的c#执行sql用户定义函数

1 个答案:

答案 0 :(得分:1)

你可以像任何其他sql一样使用它。这是一个例子:

using (var con = new SqlConnection(Properties.Settings.Default.ConnectionString))
using (var cmd = new SqlCommand("SELECT dbo.IsInteger(@value);", con))
{
    con.Open();
    cmd.Parameters.Add("@value", SqlDbType.VarChar).Value = "10";
    bool isInt = (bool)cmd.ExecuteScalar();
}

dbo.IsIntegerscalar-valued function,返回bit(真/假)。

为了完整起见,即使它没有真正相关,也就是这样:

CREATE Function [dbo].[IsInteger](@Value VarChar(18))
Returns Bit
As 
Begin

  Return IsNull(
     (Select Case When CharIndex('.', @Value) > 0 
                  Then Case When Convert(int, ParseName(@Value, 1)) <> 0
                            Then 0
                            Else 1
                            End
                  Else 1
                  End
      Where IsNumeric(@Value + 'e0') = 1), 0)  
End