In C# how to get return value from stored procedure using ExecuteNonQuery

前端 未结 8 1423
梦毁少年i
梦毁少年i 2020-12-06 07:03

I have the following query:

create proc [dbo].[DeleteParts] 
    @TransNo nvarchar (6), @fpart nvarchar(25) 
AS 
    DECLARE @Returns BIT 
    SET @Returns =         


        
8条回答
  •  时光说笑
    2020-12-06 07:31

    You need a parameter with Direction set to ParameterDirection.ReturnValue

    Something like:

    SqlParameter returnParameter = deleteCommand.Parameters.Add("RetVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;
    ...
    deleteCommand.ExecuteNonQuery();
    ...
    int returnValue = (int) returnParameter.Value;
    

    You Stored Procedure needs to return this return value of course:

    create proc [dbo].[DeleteParts]      
        @TransNo nvarchar (6),   
        @fpart nvarchar(25)  
    AS      
    DECLARE @Returns BIT      
    SET @Returns = 1     
    ...
    RETURN @Returns
    

提交回复
热议问题