string strconn = ConfigurationManager.ConnectionStrings["kingangsTestConnectionString"].ToString();
        SqlConnection myConnection = new SqlConnection(strconn);
        myConnection.Open();
        string strcomm = "select UserName from UserList";
        SqlCommand myCommand = new SqlCommand(strcomm, myConnection);
        SqlDataReader checkReader = myCommand.ExecuteReader();
        //检查用户名是否会重复
        while (checkReader.Read())
        {
            
            //如果用户名重复,重新设置
            if ((string)checkReader["UserName"] == UserName_TextBox.Text.ToString().Trim())
            {
                CheckUsernameLabel.Text = "用户名不可用,请重新设置!";
                UserName_TextBox.Text = "";
                return;
            }
            //如果不重复,进入注册程序
            else
            {
                ......
             }数据库数据:
UserName            UserPwd
[email protected]    zhoujunjue
junjue100    11111
[email protected]    123456
zhangxiang    zhangxiang
xiexing             xiexing
zhoujunjue    11111在检查用户名是否会重复时,输入存在与数据库里的用户,有些能检测到,有些检测不到。这是什么原因???
大侠帮帮忙
数据库注册 

解决方案 »

  1.   

    为什么要用循环比对,直接用sql去select不久好了
      

  2.   

     UserName_TextBox.Text.ToString()
    这是要作甚。。你为啥要一个一个比为啥不用where
      

  3.   

    UserName_TextBox.Text.ToString():用于获取前端页面的用户名。
    问题已经解决了。
    不过你的 “直接用sql去select” 好像是不错的方法。
    可以试试。
      

  4.   

    为什么要循环啊!这样如果数据库里面有10W用户不要全部循环一次啊!这样就郁闷了啊!
    用sql语句直接查不好吗?select * from User where UserName='用户名',这样如果有数据不就说明数据库里已经有这个用户名咯!
      

  5.   

    Refer:
    http://www.cnblogs.com/insus/archive/2013/05/01/3052604.html
      

  6.   


    +1select count(1) from User where UserName='用户名'
    更好
      

  7.   


    +1select count(1) from User where UserName='用户名'
    更好++1
      

  8.   

    为啥不用framework authentication?
      

  9.   


    +1select count(1) from User where UserName='用户名'
    更好请问有什么好方法可以获得查询结果。如果可以不用存储过程的话。