Remember that this will be comparing only against the last matching row in the database that your query returns: and we don't know what your query is.
So if you have a dozen rows with "Male" and then one row with "Yes please" then the comparison will only compare "Yes please" against "Male" and "Female" and fail both. As a result, the current content of your label will not be changed.
So add a default for starters that keys you know that there is a problem:
if (sex == "Male")
{
Label1.Text = "Mark";
}
else if(sex == "Female")
{
Label1.Text = "Marry";
}
else
{
Label1.Text = "Unknown " + sex;
}
And from there you should get a better idea - but check your query returns only one row as well... Also remember that string comparisons are case sensitive...