Access Id Returned From Stored Procedure
-
Hi, I am executing this procedure
CREATE procedure pr_bll_InsertSession ( @SquadID int, @FirstSessionType int, @Date datetime, @Comment nVarchar(300), @SessionEndDate datetime = null ) as declare @sessionID int, @error int begin transaction insert into session values (@SquadID, @Date, @Comment) select @sessionID = SCOPE_IDENTITY( ), @error = @@error if exists (select * from sessionactivity where SessionID = @sessionID) RAISERROR ('pr_bll_InsertSession: A start record already exists in SessionActivity for this session. Use pr_bll_ModifySession to append an Activity', 16, 1) with nowait insert into sessionactivity (SessionID,SessionType, StartDateTime, EndDateTime ) values ( @sessionID, @FirstSessionType, @Date, @SessionEndDate) select @error = @@error if (@error = 0) commit transaction else begin rollback transaction RAISERROR ('pr_bll_InsertSession: An error has occurred in this procedure. @ErrorNo is %d', 16, 1,@error ) with nowait end return @sessionID GO
using this c# codeDataSet iSet = new DataSet(); System.Data.SqlClient.SqlConnection iConnection = DbHelper.GetConnection(); SqlDataAdapter MyDataAdapter = new SqlDataAdapter("pr_bll_InsertSession", iConnection); MyDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@SquadID", SqlDbType.Int, 40)); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@FirstSessionType", SqlDbType.Int, 40)); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@Date", SqlDbType.DateTime, 40)); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@Comment", SqlDbType.NVarChar, 40)); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@SessionEndDate", SqlDbType.DateTime, 40)); MyDataAdapter.SelectCommand.Parameters["@SquadID"].Value = squad.SelectedValue; MyDataAdapter.SelectCommand.Parameters["@FirstSessionType"].Value = squad.SelectedIndex; MyDataAdapter.SelectCommand.Parameters["@Date"].Value = testDate.Date; MyDataAdapter.SelectCommand.Parameters["@Comment"].Value = comment.Text; MyDataAdapter.SelectCommand.Parameters["@SessionEndDate"].Value = testDate.Date; MyDataAdapter.Fill(iSet);
but i need to acces the value (@sessionID) that is returned from the stored procedure does anyone have any idea of how to go about this thanks in advance Tim -
Hi, I am executing this procedure
CREATE procedure pr_bll_InsertSession ( @SquadID int, @FirstSessionType int, @Date datetime, @Comment nVarchar(300), @SessionEndDate datetime = null ) as declare @sessionID int, @error int begin transaction insert into session values (@SquadID, @Date, @Comment) select @sessionID = SCOPE_IDENTITY( ), @error = @@error if exists (select * from sessionactivity where SessionID = @sessionID) RAISERROR ('pr_bll_InsertSession: A start record already exists in SessionActivity for this session. Use pr_bll_ModifySession to append an Activity', 16, 1) with nowait insert into sessionactivity (SessionID,SessionType, StartDateTime, EndDateTime ) values ( @sessionID, @FirstSessionType, @Date, @SessionEndDate) select @error = @@error if (@error = 0) commit transaction else begin rollback transaction RAISERROR ('pr_bll_InsertSession: An error has occurred in this procedure. @ErrorNo is %d', 16, 1,@error ) with nowait end return @sessionID GO
using this c# codeDataSet iSet = new DataSet(); System.Data.SqlClient.SqlConnection iConnection = DbHelper.GetConnection(); SqlDataAdapter MyDataAdapter = new SqlDataAdapter("pr_bll_InsertSession", iConnection); MyDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@SquadID", SqlDbType.Int, 40)); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@FirstSessionType", SqlDbType.Int, 40)); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@Date", SqlDbType.DateTime, 40)); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@Comment", SqlDbType.NVarChar, 40)); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@SessionEndDate", SqlDbType.DateTime, 40)); MyDataAdapter.SelectCommand.Parameters["@SquadID"].Value = squad.SelectedValue; MyDataAdapter.SelectCommand.Parameters["@FirstSessionType"].Value = squad.SelectedIndex; MyDataAdapter.SelectCommand.Parameters["@Date"].Value = testDate.Date; MyDataAdapter.SelectCommand.Parameters["@Comment"].Value = comment.Text; MyDataAdapter.SelectCommand.Parameters["@SessionEndDate"].Value = testDate.Date; MyDataAdapter.Fill(iSet);
but i need to acces the value (@sessionID) that is returned from the stored procedure does anyone have any idea of how to go about this thanks in advance TimiSet.Tables[0].Rows[0][0].Tostring(); ??
-
iSet.Tables[0].Rows[0][0].Tostring(); ??