日期:2014-05-17  浏览次数:20384 次

在检查用户名是否会重复时,输入存在与数据库里的用户,有些能检测到,有些检测不到。这是什么原因???
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
junjue11@126.com    zhoujunjue
junjue100    11111
maoyi@126.com    123456
zhangxiang    zhangxiang
xiexing             xiexing
zhoujunjue    11111

在检查用户名是否会重复时,输入存在与数据库里的用户,有些能检测到,有些检测不到。这是什么原因???
大侠帮帮忙
数据库 注册?

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