-6
как выполнить пользовательскую функцию, определенную пользователем, с использованием C#, такой же, как и для выполнения хранимой процедурыКак выполнить пользовательскую функцию sql, используя C#?
как выполнить пользовательскую функцию, определенную пользователем, с использованием C#, такой же, как и для выполнения хранимой процедурыКак выполнить пользовательскую функцию sql, используя C#?
Вы можете использовать его, как и любой другой 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.IsInteger
является scalar-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
Я подумал, что было бы, независимо от того, плохо стереть комментарий – Matt