zoukankan      html  css  js  c++  java
  • 带参数的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存储过程:

  • 相关阅读:
    ES6常用语法简介
    webpack核心概念
    前端模块化规范详解
    使用Node.js原生代码实现静态服务器
    Node.js脚手架express与前段通信【socket】
    临门一脚- Node.js
    redis缓存穿透和雪崩
    redis哨兵模式
    redis主从复制
    redis发布订阅
  • 原文地址:https://www.cnblogs.com/insus/p/4373605.html
Copyright © 2011-2022 走看看