2011-09-01 75 views
0

我有一个注册表单。我想防止与ASP.NET.Now重复的用户名,我可以做,以防止重复的用户名。但是,我想给一个警告消息User.How我可以这样做吗?防止重复的用户名与ASP.NET

代码:

try{ 

SqlCommand cmd = sqlConnection.command("If not exists (Select user_name from users Where [email protected]) 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

ExecuteNonQuery返回受命令行数。在你的情况下,它将是0(未插入)或1(插入)。

int res = cmd.ExecuteNonQuery(); 
if (1 != res) 
{ 
    //show warning 
} 
0

看起来像您将用户帐户存储在您自己的数据库中。为什么不使用ASP.NET Membership框架?您可以在会员框架中配置各种设置,包括Unique Email Addresses。我现在还不记得它是否支持唯一的用户名,但是整体使用框架会更好。

ASP.NET 2.0 Membership Framework