zoukankan      html  css  js  c++  java
  • C#调用存储过程,并且获得返回值和OutPut字符串

    存储过程的代码如下:

    ALTER proc [dbo].[Get_Model_ByGroup]
    (
    	@groups varchar(200),
    	@msg varchar(50)='' output
    )
    as
    declare @sqlPage nvarchar(1000) --主语句
    
    begin 
    	set @sqlPage='select * from T_Model where moduleid in(select distinct moduleid from T_Groups_Model_Popedom where GroupsID in('+@groups+'))'
    end
    exec(@sqlPage)
    if @@error<>0
    begin
    	set @msg='查询操作失败!'
    	return 0
    end
    else
    begin
    	set @msg='查询操作成功!'
    	return 1
    end
    

     调用存储过程的C#代码如下:

     try
                {
                    SqlConnection conn = new SqlConnection(connectString);
                    SqlCommand comm = new SqlCommand("Get_Model_ByGroup", conn);
                    comm.CommandType = CommandType.StoredProcedure;
    
                    SqlParameter paramgroups = new SqlParameter("@groups", SqlDbType.VarChar, 200);
                    paramgroups.Value = groups;
                    comm.Parameters.Add(paramgroups);
    
                    SqlParameter paramreturnmsg = new SqlParameter("@msg", SqlDbType.VarChar, 50);
                    paramreturnmsg.Direction = ParameterDirection.Output;
                    comm.Parameters.Add(paramreturnmsg);
    
                    SqlParameter paramreturnvalue = new SqlParameter("@return", SqlDbType.Int, 4);
                    paramreturnvalue.Direction = ParameterDirection.ReturnValue;
                    comm.Parameters.Add(paramreturnvalue);
    
                    SqlDataAdapter da = new SqlDataAdapter(comm);
                    da.Fill(result.returnDt);
    
                    result.returnMsg = paramreturnmsg.Value.ToString();
                    result.returnValue = (int)paramreturnvalue.Value;
    
                }
                catch (Exception)
                {
                    
                    throw;
                }
                return result;
    
    SqlParameter.Direction 属性

    获取或设置一个值,该值指示参数是只可输入、只可输出、双向还是存储过程返回值参数。

    ParamenterDirection.Inupt为默认值,只可输入

    ParameterDirection.ReturnValue,只可输出

  • 相关阅读:
    [SDOI2015]约数个数和
    [POI2007]ZAP-Queries
    fpu栈溢出
    shader 汇编
    sample a texture as a rendertarget
    ID3d11asynchronous
    DEVICE DRAW VERTEX BUFFER TOO SMALL
    模型的一个点显示在原点
    setrendertraget 上下颠倒
    skinned mesh 蜘蛛样
  • 原文地址:https://www.cnblogs.com/fanxiaojun/p/2576594.html
Copyright © 2011-2022 走看看