c#验证电子邮件时出错
我有一个注册windows窗体,如果没有其他帐户插入电子邮件,它应该在数据库中插入新帐户的数据。问题是,每次它创建帐户时,即使电子邮件已经在数据库中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
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,则帐户存在?