2011-09-01 74 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