I have attached a screenshot of my output screen .我的代码给了我一个不寻常的缺陷。这是我正在研究的一个登录程序。问题是当我调试&运行代码输入指定字段的正确输入,与数据库中的条目完全相似。控制台正确地获取正确的值,但我得到的输出是一个不成功的Login.I不明白为什么这发生可能有人指导我! `
private void button1_Click(object sender, EventArgs e)
{
String s1 = textBox1.Text;
String s2 = textBox2.Text;
SqlConnection cnn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=register;Integrated Security=True");
String sql = ("select Userid,Password from reg where Userid='" + s1 + "' and Password='" + s2 + "' ");
cnn.Open();
String userid="";
String password="";
SqlCommand cmd = new SqlCommand(sql,cnn);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while(reader.Read())
{
userid = reader.GetString(0);
password = reader.GetString(1);
Console.WriteLine(userid);
Console.WriteLine(password);
}
If语句检查输入的userid& password与DB中现有的userid passwrd类似。
if((s1.Equals(userid)) && (s2.Equals(password)))
{
MessageBox.Show("LOGIN SUCCESSFULLY DONE>>");
}
else
{
MessageBox.Show("LOGIN UNSUCCESSFUL ....");
}
}
答案 0 :(得分:-1)
可能是字符串中还有其他空格?尝试使用Trim()
String s1 = textBox1.Text.Trim();
String s2 = textBox2.Text.Trim();
和
userid = reader.GetString(0).Trim();
password = reader.GetString(1).Trim();
您是否知道只从数据库返回一条记录?