【问题标题】:Get values multi output parameter (stored procedure ) in MVC在 MVC 中获取值多输出参数(存储过程)
【发布时间】:2016-10-26 14:12:58
【问题描述】:

我的存储过程:

CREATE PROCEDURE [dbo].[GetProduct]
    @ProdId int output
    @ProdCode nvarchar(20) output
AS
BEGIN
    SET @ProdId = 1
    SET @ProdCode = 'PROD00001'
END

当我在操作中调用此存储过程时,如何获取@prodId@ProdCode 2 个输出参数的值?

【问题讨论】:

    标签: asp.net asp.net-mvc entity-framework asp.net-mvc-3 stored-procedures


    【解决方案1】:

    将选择命令放入您的 sp as

    CREATE PROCEDURE [dbo].[GetProduct]
    @ProdId int output
    @ProdCode nvarchar(20) output
    as
    begin
        set @ProdId=1
        set @ProdCode='PROD00001'
        SELECT @ProdId, @ProdCode
    end
    

    并像这样调用它

       SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=yourDbName;Integrated Security=True;Pooling=False");
                con.Open();
                SqlCommand cmd = new SqlCommand("GetProduct", con);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter ProdId = new SqlParameter("@ProdId", SqlDbType.Int);
                ProdId.Direction = ParameterDirection.Output;
                cmd.Parameters.Add(ProdId);
                SqlParameter ProdCode = new SqlParameter("@ProdCode", SqlDbType.NVarChar,20);
                ProdCode.Direction = ParameterDirection.Output;
                cmd.Parameters.Add(ProdCode);
    
                cmd.ExecuteNonQuery();
                string ProductCode = (string)cmd.Parameters["@ProdCode"].Value;
                int ProductId = Convert.ToInt32(cmd.Parameters["@ProdId"].Value);
    

    【讨论】:

    • 谢谢纳齐尔。我明白了。
    【解决方案2】:
    create PROCEDURE [dbo].[GetProduct]
    @ProdId int output
    @ProdCode nvarchar(20) output
    as
    begin
        set @ProdId=1
        set @ProdCode='PROD00001'
        select @ProdId,@ProdCode
    end
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    • 2017-04-05
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多