我在一个简单的注册页面中工作,在该页面中,用户无法输入相同的用户名或电子邮件,我编写了一个代码,阻止用户输入用户名,但该代码有效,但是当我尝试阻止用户输入相同的用户名时或通过电子邮件发送无效的邮件。
我的问题是,“如何添加用户无法输入已经存在的电子邮件的其他条件?”
我试图在这段代码中做到这一点,但是没有成功:
protected void Button_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection( ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString );
SqlCommand cmd1 = new SqlCommand("select 1 from Table where Name =@UserName", con);
SqlCommand cmd2 = new SqlCommand("select 1 from Table where Email=@UserEmail", con);
con.Open();
cmd1.Parameters.AddWithValue("@UserName", Name_id.Text);
cmd2.Parameters.AddWithValue("@UserEmail", Email_id.Text);
using (var dr1 = cmd1.ExecuteReader())
{
if (dr1.HasRows)
{
Label1.Text = "user name already exists";
}
using (var dr2 = cmd2.ExecuteReader())
{
if (dr2.HasRows)
{
Label1.Text = "email already exists";
}
else
{
dr1.Close();
dr2.Close();
//add new users
con.Close();
}
}
}
}
但是我得到这个错误:
已经有与此命令相关联的打开的DataReader,必须先关闭它。
交互式爱情
神不在的星期二