带参数的CLR存储过程

 昨天有学习《简单创建与布署CLR存储过程http://www.cnblogs.com/insus/p/4371762.html,知道怎样创建以及布署至SQL中去。

下面这个范例是实现CLR存储过程附带参数:


可复制代码:

SqlConnection connection = new SqlConnection("Context connection=true");
        connection.Open();

        SqlCommand command = new SqlCommand();
        command.Connection = connection;

        string sql = "SELECT [Fruit_nbr],[FruitKind_nbr],[FruitName] FROM [dbo].[Fruit] WHERE [FruitName] LIKE @FruitName";   
        

        command.CommandText = sql;

        SqlParameter param = new SqlParameter("@FruitName", SqlDbType.NVarChar);
        param.Value = name;
        command.Parameters.Add(param);

        try
        {            
            SqlDataReader reader = command.ExecuteReader();
            SqlContext.Pipe.Send(reader);
        }
        catch  (Exception ex)  
        {
            throw new Exception(ex.Message);
        }       
        connection.Close();
View Code


编写CLR存储过程,有点像是在程序中直接写SQL语句一样,不过有细规范与细节不同而已。

Insus.NET觉得CLR存储过程,是一适合一些较稳定与成熟的程序,当布署之后,一般不需要修改的。因为CLR存储程有更新或是升级,需要删除原旧有已经布署好的存储过程以及Assembly,然后才可以重新布署新版本的CLR存储过程。


删除FruitClr assembly相关的存储过程:



再删除Assembly:


当全部Drop完之后,再参考昨天的CLR存储过程SQL布署方法,重新布署......

下面演示执行新添加的CLR存储过程:

 

posted @ 2015-03-28 09:39  Insus.NET  阅读(1240)  评论(3编辑  收藏  举报