I tried implementing a call to Stored proc and the proc returns ID which will used later. Everytime I execute I get the out parameter as -1. Below is my sample code:
OleDbCommand sqlStrProc = new OleDbCommand();
sqlStrProc.Connection = dbConn;
sqlStrProc.CommandText = "dbo.insert_test";
sqlStrProc.CommandType = CommandType.StoredProcedure;
sqlStrProc.Parameters.Add("@p_TestID", OleDbType.Integer, 255).Direction = ParameterDirection.Output;
sqlStrProc.Parameters.Add("@p_TestName", OleDbType.VarChar).Value = "Test";
sqlStrProc.Parameters.Add("@p_CreatedBy", OleDbType.VarChar).Value = "Test";
int personID = sqlStrProc.ExecuteNonQuery();
Row.outPersonID = personID;
personID is always -1. What am I doing wrong here. Please help..!! Below is the stored proc code
CREATE PROCEDURE [dbo].[INSERT_TEST]
@p_TestID int OUTPUT,
@p_TestName varchar (50),
@p_CreatedBy varchar (100)
AS
SET NOCOUNT ON
INSERT INTO Test(
TestName,
CreatedBy)
VALUES
( @p_TestName,
@p_CreatedBy)
SELECT @p_TestID = SCOPE_IDENTITY()