0. your stored procedure expects a parameter called @id.
1. you have a line commented which perhaps is needed to supply the @ID parameter.
2.
your class contains this
SqlCommand cmd = new SqlCommand();
then on button click
con = new SqlConnection("server=203.199.15.181; database= commonlogin;uid=sa;pwd=nirwan612");
cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = txtName.Text;
cmd.Parameters.Add("@Description", SqlDbType.VarChar).Value = txtDesc.Text;
cmd.Parameters.Add("@Image", SqlDbType.Binary).Value = txtImage.Text;
cmd.Parameters.Add("@Active", SqlDbType.VarChar).Value = txtActive.Text;
cmd.Parameters.Add("@CreatedBy", SqlDbType.VarChar).Value = txtCreatedBy.Text;
cmd.Parameters.Add("@CreatedDate", SqlDbType.DateTime).Value = txtCreDate.Text;
cmd=new SqlCommand ("sp_SqlImage", con);
cmd.CommandType =CommandType.StoredProcedure;
Why are you doiing a new on command after adding so many parameters to it. instead you should do
cmd.Connection = con;
cmd.CommandText = "sp_SqlImage";