执行有回传参数的存储过程




百度了很多方法,对于新新手来说,虽然能执行,但是看不明白,在此记录一下。‘

存储过程如下:

此存储过程作用是返回更改数据受影响的条数

ALTER PROCEDURE [dbo].[P_ROHS_Updata]
 -- Add the parameters for the stored procedure here
  @info int out  --输出参数
AS
BEGIN
 
 SET NOCOUNT ON;

  declare @string_exec nvarchar(900);   --定义一个参数
  set @string_exec='update DataInfo set  Result=''NG'' where TestReport is null;  --SQL 语句
  EXEC(@string_exec);   --执行SQL语句
  
  return  @@ROWCOUNT;    --返回受影响的条数

END

调用存储过程

  /// <summary>
    /// 执行有回传参数的存储过程
    /// </summary>
    /// <returns></returns>
    public int count11()
    {
        string connstr = ConfigurationManager.ConnectionStrings["ConnectionString_H3Cloud"].ToString();  //在webconfig中获取数据库连接字符串。
        SqlConnection conn = new SqlConnection(connstr);  //创建SqlCommand命令对象
        SqlCommand cmd = new SqlCommand("[P_ROHS_Updata]", conn);  //命令对象传参  P_ROHS_Updata是存储过程名称
        cmd.CommandType = CommandType.StoredProcedure;       //执行令对象改为存储过程
        cmd.Parameters.Add("@info", SqlDbType.Int).Direction = ParameterDirection.Output;   //设置参数@info为输入参数
        conn.Open();          //打开数据库
        cmd.ExecuteNonQuery();   //执行command
        conn.Close();   // 关闭数据库
        int outResult = Convert.ToInt32(cmd.Parameters[0].Value);   //取出存储过程输入的值
        return outResult;   //返回值
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值