我有一个注册表。我想用ASP.NET防止重复的用户名。现在,我可以做以防止重复的用户名。但是,我想给User一个警告信息。我可以这样做吗?
代码:
try{
SqlCommand cmd = sqlConnection.command("If not exists (Select user_name from users Where user_name=@userName) Insert into users(userId,user_name,user_surname,email) Values (@userID,@userName,@userSurname,@email)");
SqlParameter p1 = new SqlParameter("@userID", Session["userID"].ToString());
SqlParameter p2 = new SqlParameter("@userName", txt_userName.Text);
SqlParameter p3 = new SqlParameter("@userSurname", txt_surName.Text);
SqlParameter p4 = new SqlParameter("@email", txt_email.Text);
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Parameters.Add(p4);
cmd.ExecuteNonQuery();
myConnect.close();
}
catch (Exception ex)
{
Response.Write("<script>alert("+ex.Message+ ")</script>");
}
}
答案 0 :(得分:0)
ExecuteNonQuery
返回受命令影响的行数。在您的情况下,它将是0(未插入)或1(插入)。
int res = cmd.ExecuteNonQuery();
if (1 != res)
{
//show warning
}
答案 1 :(得分:0)
似乎就像您自己在数据库中存储用户帐户一样。你为什么不使用ASP.NET Membership
框架?您可以在成员资格框架中配置各种设置,包括Unique Email Addresses
。我现在还不记得它是否支持独特的用户名,但是整体使用框架是个更好的主意。