带参数的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();

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

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

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

再删除Assembly:

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

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

时间: 2024-10-15 14:06:17

带参数的CLR存储过程的相关文章

带OUTPUT参数的CLR存储过程

前面写了一篇<带参数的CLR存储过程>http://www.cnblogs.com/insus/p/4373605.html ,如果我们需要创建一个带OUTPUT返回值. 实现它,可以先了解一下C#的OUT关键词 out (C# Reference) 打开刚才前面我们写好的SQL DataBase project,添加一个方法: 可复制代码: public static void GetFruitName(out SqlString fruitName, SqlByte fruit_nbr )

finereport报表,使用带参数的sql存储过程,报没有返回数据集的错

原因:在SqlServer数据库中,若定义的存储过程中包含有insert/update等更新操作时,在设计器中对存储过程进行调用时,会提示没有返回数据集的错误. 解决方法:修改存储过程,在begin 后面添加 SET NOCOUNT ON. 不管多复杂的sql存储过程 只需要在第一个大的begin后面添加 如下: ALTER proc [dbo].[proc_enterylist] @qybm varchar(50),@strWhere varchar(2000)='',@stratrow in

带参数的存储过程

创建带参数的sql存储过程:创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用惟一的名称进行定义.与标准的Transact-SQL变量相同,参数名必须以@为前缀,创建带参数的存储过程创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用惟一的名称进行定义.与标准的Transact-SQL变量相同,参数名必须以@为前缀,并且遵从对象标识符规则.当用户不提供该参数的值时可以使用一个默认值来代替.在执行带参数的存储过程时,既可以通过显式指定参数名称并赋予适当

c#调用Mysql带参数的存储过程

1.首先创建一个带参数的存储过程 ①存储过程名称=proc_bookinfo  ②存储过程2个参数 一个in 一个out in参数名称=ispay out参数名称=unPaycount ③ 这个存储过程 根据传入的未支付字段名称 输出未支付的商品数量 DELIMITER $$ USE `bookshop`$$ DROP PROCEDURE IF EXISTS `proc_bookinfo`$$ CREATE DEFINER=``@`` PROCEDURE `proc_bookinfo`(IN i

T-SQL 带参数存储过程

创建带参数的存储过程 1 use StudentManager 2 go 3 if exists(select * from sysobjects where name='usp_ScoreQuery4') 4 drop procedure usp_ScoreQuery4 5 go 6 create procedure usp_ScoreQuery4 --创建带参数的存储过程 7 @AbsentCount int output,--缺考总人数 8 @FailedCount int output,

oracle存储过程(带参数的存储过程)

带参数的存储过程 举例:为指定的员工涨100元的工资,打印涨前和涨后的工资 如果带参,需要指定是输入参数还是输出参数 create or replace procedure raisesalary(eno in number) as ---定义一个变量保存涨前的薪水,引用emp中sal的类型作为psal的类型 psal emp.sal%type; begin ---得到员工涨前的薪水 select sal into psal from emp where empno=eno; ---给该员工涨1

在Oracle中如何创建带参数的视图?

本文介绍了oracle数据库中创建带参数视图的例子,有需要的朋友参考下. 在Oracle中如何创建带参数的视图? 在Oracle数据库中,视图不像存储过程和函数一样,可以定义输入参数,但可以变个方式,使用程序包来实现. 首先,定义程序包: 复制代码 代码示例: /* 按个人需要定义,我定义三个参数 ,因我项目程序需要,所以三个参数都是number ,当然可定义其它类型但切记,第二个create 的参数类型等需以第一个create一致,否则程序包创建失败*/create or replace pa

SQL Server之 (四) ADO增删查改 登录demo 带参数的sql语句 插入自动返回行号

SQL Server之 (四) ADO增删查改  登录demo  带参数的sql语句  插入自动返回行号 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.什么是ADO.NET ADO.NET是一组类库,这组类库可以让我们通过程序的方式访问数据库,并以各种方式操作存储在其中的数据; ADO.NET是基于.NET FrameWork,与.NET FrameWork类库的其余部分是高度集成的 2.连接数据库的步骤 ①创建连接字符串 Data Source=XXX-PC; Initial Catal

微信服务器与项目服务器的交互(关注功能、微信扫描带参数二维码)

<?php /** * wechat php test */ //define your token define("TOKEN", "txtj"); $wechatObj = new wechatCallbackapiTest(); if (isset($_GET['echostr'])) { $wechatObj->valid(); }else{ $wechatObj->responseMsg(); } class wechatCallback