2010-11-10 38 views
17

Tôi có một hàm được xác định trong SQL Server (phải mất một chuỗi và một int) làm cách nào để gọi nó bằng ADO.NET?Làm cách nào để gọi hàm TSQL từ ado.net

(Nếu nó là 100% giống như gọi một proc lưu trữ, xin vui lòng chỉ nói như vậy, vì có rất nhiều ví dụ về gọi procs lưu trữ về)

Trả lời

26

Sự khác biệt duy nhất là bạn phải có một paramter đặc biệt bổ sung cho giá trị trả về

Xem: 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; 
    } 
Các vấn đề liên quan