在检查用户名是否会重复时,输入存在与数据库里的用户,有些能检测到,有些检测不到。这是什么原因???
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='用户名',这样如果有数据不就说明数据库里已经有这个用户名咯