That doesn't work because it is thrown together from a variety of sources, without thinking too hard what you are doing.
SELECT MAX(Code) from Customer
Does not have any parameters so trying to add them is not going to help.
Even if it did, what is the value of a string plus the number one? Answer: a string with a "1" on the end. So your code
"@MAX(Code)"+1
is actually the same as
"@MAX(Code)1"
Your Label.Text almost certainly doesn't contain the name of a parameter in your SQL statement even if you actually had any.
cmd.ExecuteNonQuery();
Is a waste of time with a SELECT sql command because a SELECT command does not affect any rows in the table, it just returns them based on the selection criteria. Except that even if it did return any rows, you then throw then away, because ExecuteNonQuery returns the number of rows affected.
Without a better description of what you are actually trying to do, I can't tell you what is wrong with it, because everything is wrong - it doesn't do anything useful at all, so I can't tell what you were trying to do!