c#验证电子邮件时出错

c#验证电子邮件时出错,c#,sql,winforms,C#,Sql,Winforms,我有一个注册windows窗体,如果没有其他帐户插入电子邮件,它应该在数据库中插入新帐户的数据。问题是,每次它创建帐户时,即使电子邮件已经在数据库中 using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Andrew\Documents\Visual Studio 2013\Projects\j2016\j2016\GOOD_FOOD.mdf;In

我有一个注册windows窗体,如果没有其他帐户插入电子邮件,它应该在数据库中插入新帐户的数据。问题是,每次它创建帐户时,即使电子邮件已经在数据库中

using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Andrew\Documents\Visual Studio 2013\Projects\j2016\j2016\GOOD_FOOD.mdf;Integrated Security=True"))
{
    conn.Open();
    if(parolaLbl.Text == parolaReLbl.Text)
    {
        SqlCommand command = new SqlCommand("SELECT email FROM Clienti WHERE email = @email", conn);
        command.Parameters.AddWithValue("@email", emailLbl.Text);
        var result = command.ExecuteScalar().ToString();
        if(result != emailLbl.Text)
        {
            command.CommandText = "INSERT INTO Clienti(parola, nume, prenume, adresa, email) VALUES (@parola, @nume, @prenume, @adresa, @email)";
            command.Parameters.AddWithValue("@parola", parolaLbl.Text);
            command.Parameters.AddWithValue("@nume", numeLbl.Text);
            command.Parameters.AddWithValue("@prenume", prenumeLbl.Text);
            command.Parameters.AddWithValue("@adresa", adresaLbl.Text);
            command.ExecuteNonQuery();
            eroareLbl.Text = "Cont creat!";
        }
        else
        {
            eroareLbl.Text = "Email deja existent!";
        }
    }
    else
    {
        eroareLbl.Text = "Parolele nu coincid";
    }
}

您是否调试以查看
result
中的值?调试时,
result
的值是多少?
emailLbl.Text
的值是多少?您是否检查了比较?基于设置,字符串比较可能很棘手。您正在直接使用
emailLbl.Text
。像结尾的空格这样简单的东西可能会破坏它。你不应该用
emailTxt.Text
而不是
emailLbl.Text
?只需设置一个断点并检查每个变量的值。与其选择电子邮件,为什么不选择
计数
,如果它大于0,则帐户存在?