Error in approving documents

i try to approved documents through following code

if (e.CommandName == "_Approve")
            {
                //using (SqlConnection con = DataAccess.GetConnected())
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mydms"].ConnectionString))
                {
                    try
                    {
                        con.Open();
                        int rowindex = Convert.ToInt32(e.CommandArgument);
                        GridViewRow row = (GridViewRow)((Control)e.CommandSource).NamingContainer;
                        Button Prove_Button = (Button)row.FindControl("BtnApprove");
                        SqlCommand cmd = new SqlCommand("approve", con);

                        //cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandType = CommandType.StoredProcedure;
                        //con.Execute("approve", new { UserID, DocID, ApproveID });


                        cmd.Parameters.Add(new SqlParameter("@UserID", UserID));
                        cmd.Parameters.Add(new SqlParameter("@DocID", DocID));
                        //cmd.Parameters.Add("ApproveID", (object)ApproveID ?? DBNull.Value);
                        cmd.Parameters.Add(new SqlParameter("@ApproveID", ApproveID));
                        int result = cmd.ExecuteNonQuery();
                        if (result != 0)
                        {
                            GrdFileApprove.DataBind();
                        }
                    }

                    catch
                    {
                        apfi.Text = "Not Approve";



                    }
                    finally
                    {
                        con.Close();
                    }
                }
            }


            else if (e.CommandName == "_Reject")
            {
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mydms"].ConnectionString))
                {
                    try
                    {
                        con.Open();
                        int rowindex = Convert.ToInt32(e.CommandArgument);
                        GridViewRow row = (GridViewRow)((Control)e.CommandSource).NamingContainer;
                        LinkButton Prove_Button = (LinkButton)row.FindControl("Button1");
                        SqlCommand cmd = new SqlCommand("sprejectapprove", con);

                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add(new SqlParameter("@UserID",UserID));
                        cmd.Parameters.Add(new SqlParameter("@DocID", DocID));
                        cmd.Parameters.Add(new SqlParameter("@ApproveID", ApproveID));
                        int result = cmd.ExecuteNonQuery();
                        if (result != 0)
                        {
                            GrdFileApprove.DataBind();
                        }
                    }

                    catch
                    {
                        apfi.Text = "Rejct";
                    }
                    finally
                    {
                        con.Close();
                    }
                }
            }
            }

sp approve i s

create procedure approveee
@UserID int,
@DocID int,
@ApproveID int
as
Update Approval SET ApproveID=@ApproveID ,UserID=@UserID where DocID=@DocID

when i click on approve button it nor be approve/reject and data not save in database…

where is the problem:sick::injured: