I need some help. I have a gridview with some info inside from a database and a delete button that should delete the information, by sending 2 parameters to a stored procedure -member ID, that I take from a session and (in my case) activity ID that I'm trying to take from the first cell in the selected row of my grodview. By some reason my second parameter is always "null", empty
Here is the code I'm trying:
protected void GridViewSignUps_SelectedIndexChanged(object sender, EventArgs e)
{
SqlCommand cmd = null;
cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "DeleteSignUp";
try
{
conn.Open();
SqlParameter pmMemberId = cmd.Parameters.Add("@MemberId", SqlDbType.Int);
pmMemberId.Direction = ParameterDirection.Input;
pmMemberId.Value = Session["UserID"];
SqlParameter pmActId = cmd.Parameters.Add("@ActivityId", SqlDbType.Int);
pmActId.Direction = ParameterDirection.Input;
pmActId.Value = Convert.ToInt32(GridViewSignUps.SelectedRow.Cells[1].Text);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
LabelMessage.Text = ex.Message;
}
finally
{
conn.Close();
UpdateGridView();
}
}
And my stored procedure:
CREATE PROCEDURE [dbo].[DeleteSignUp]
@MemberId int,
@ActivityId int
AS
begin
delete from Sign_Ups
where @MemberId = Sign_Ups.Member_number
and @ActivityId = Sign_Ups.Activity_Number
end
RETURN
I'm getting
Object reference not set to an instance of an object.
What is the right way to send the ID from the cell as parameter to my procedure?
Thanks in advance :)