Since the artist name is not an optional parameter I would loose the if statement in your code. It looks like that if statement will never be true anyway because the text in a textbox control will never be null, possibly blank.
protected void btnaddsong_Click(object sender, EventArgs e)
{
con.Open();
{
cmd.CommandText = "usp_addsong";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@artist", txtartist.Text);
cmd.Parameters.AddWithValue("@song_name", txtsongname.Text);
cmd.Parameters.AddWithValue("@album", txtalbum.Text);
cmd.Parameters.AddWithValue("@artist_name", txtartist.Text);
cmd.Parameters.AddWithValue("@song_file", songupload.FileBytes);
cmd.Connection = con;
cmd.ExecuteNonQuery();
int check = 0;
check = cmd.ExecuteNonQuery();
if (check == 1)
{
con.Close();
}
else
{
Response.Write("Error");
}
}
con.Close();
}