2017-04-22 58 views
-2

对于输入的每个密码和用户名,它显示相同的消息“用户名和密码正确”,请帮我检测密码错误。C#:在检测员工登录密码时出错

 private void btn_Login_Click(object sender, EventArgs e) 
     { 
     connection.Open(); 

     OleDbCommand command= new OleDbCommand(); 
     command.Connection=connection; 
     command.CommandText="Select * from EmployeeData where Username ='"+txt_Username.Text+"' and Password='"+ txt_Password.Text+"'"; 
     OleDbDataReader reader= command.ExecuteReader(); 
     int count=0; 
     while(reader.Read()); 
     { 
      count =count+1; 
     } 

     if (count == 1) 
     { 
      MessageBox.Show("Username and password is correct"); 
     } 

     else if(count > 0) 
     { 
      MessageBox.Show("Username or password is NOT correct"); 
     } 
     connection.Close(); 

    } 

回答

2

在管线while(reader.Read()); 除去

;

从端

while(reader.Read()) { count =count+1; }为真

0

您的密码识别只是查看是否只有一个数据集。功能reader.Read()读取下一个数据集。 您可以统计Read能够在下一个数据集中读取的频率。然后,您根据该号码的密码的有效性作出决定。

这个probaly不是你的想法。