Note that there are some explanatory texts on larger screens.

plurals
  1. POReturn multiple values from Stored Procedure in C#
    primarykey
    data
    text
    <p>I need to return 2 values from stored procedure in my application. Below is the code snippet in my application. I need to get the values of SureveyID &amp; InputID below after the respective insert statements. </p> <pre><code> int surveyId = 0; int inputId = 0; SqlDataManager manager = new SqlDataManager(); manager.AddParameter("@Name", surveyInstance.SurveyName); manager.AddParameter("@Type", surveyInstance.SurveyType); manager.AddParameter("@UserId", surveyInstance.UserId); manager.AddParameter("@InputType", surveyInstance.InputType); manager.AddParameter("@DisplayName", surveyInstance.DisplayName); manager.AddOutputParameter("@SurveyID",System.Data.DbType.Int32,surveyId); manager.AddOutputParameter("@InputID", System.Data.DbType.Int32,inputId); manager.ExecuteNonQuery("pr_CreateSurvey"); </code></pre> <p>AddParameter &amp; AddOutputParameter is custom method as below</p> <pre><code> public void AddParameter(string parameterName, DbType parameterType, object parameterValue) { SqlParameter parameter = new SqlParameter(); parameter.ParameterName = parameterName; parameter.DbType = parameterType; parameter.Value = parameterValue; parameters.Add(parameter); } public void AddOutputParameter(string parameterName, DbType parameterType, object parameterValue) { SqlParameter parameter = new SqlParameter(); parameter.ParameterName = parameterName; parameter.DbType = parameterType; parameter.Value = parameterValue; parameter.Direction = ParameterDirection.Output; parameters.Add(parameter); } </code></pre> <p>Below is code snippet from stored procedure</p> <pre><code>ALTER PROCEDURE [dbo].[pr_CreateSurvey] -- Add the parameters for the stored procedure here @Name varchar(50),@Type varchar(50),@UserId varchar(50),@InputType varchar(50),@DisplayName varchar(50), @SurveyID int OUTPUT,@InputID int OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here Insert into surveys(name,user_id,display_name,type) values(@Name,@UserId,@DisplayName,@Type) SET @SurveyID = SCOPE_IDENTITY() Insert into input_types(name) values (@InputType) SET @InputID = SCOPE_IDENTITY() END </code></pre> <p>The insert statements are working fine but I am not getting back any value in my application. Its 0. I tried returning 1 value(SurveyID) by using below statement but still not getting correct value. Its returning -1 everytime.</p> <pre><code>surveyId = manager.ExecuteNonQuery("pr_CreateSurvey"); </code></pre> <p>I tried a lot but no luck. Please advise.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload