在 MVC 中获取值多输出参数(存储过程)
Get values multi output parameter (stored procedure ) in MVC
我的存储过程:
CREATE PROCEDURE [dbo].[GetProduct]
@ProdId int output
@ProdCode nvarchar(20) output
AS
BEGIN
SET @ProdId = 1
SET @ProdCode = 'PROD00001'
END
当我在我的操作中调用此存储过程时,如何获取 2 个输出参数 @prodId
和 @ProdCode
的值?
create PROCEDURE [dbo].[GetProduct]
@ProdId int output
@ProdCode nvarchar(20) output
as
begin
set @ProdId=1
set @ProdCode='PROD00001'
select @ProdId,@ProdCode
end
将 select 命令作为
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);
我的存储过程:
CREATE PROCEDURE [dbo].[GetProduct]
@ProdId int output
@ProdCode nvarchar(20) output
AS
BEGIN
SET @ProdId = 1
SET @ProdCode = 'PROD00001'
END
当我在我的操作中调用此存储过程时,如何获取 2 个输出参数 @prodId
和 @ProdCode
的值?
create PROCEDURE [dbo].[GetProduct]
@ProdId int output
@ProdCode nvarchar(20) output
as
begin
set @ProdId=1
set @ProdCode='PROD00001'
select @ProdId,@ProdCode
end
将 select 命令作为
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);