while (reader.Read())
{
if (TextBox1.Text.CompareTo(reader["usernam"].ToString()) == 0&&TextBox2.Text.CompareTo(reader["passwd"].ToString()) == 0) // A little messy but does the job to compare your infos assuming your using a textbox for username and password
{
Label3.Text = "Redirecting";
Response.Cookies["dbname"]["Name"] = reader["usernam"].ToString();
Response.Cookies["dbname"].Expires = DateTime.Now.AddSeconds(10);
Response.Redirect("index2.aspx");
}
else
{ Label3.Text = "NO"; }
}
当我尝试比较用户名(usernam)和密码(passwd)时,我收到此错误。 如果我只将用户名与数据库条目进行比较,那就像魅力一样。
只有在使用实际数据时才会出错。 E.I.如果我在登录网页中输入[admin],[admin],它会给我错误,如果我输入[asd],[asd],那么标签将变为NO。
代码背后的想法是登录页面。 我希望我的解释足够好。
答案 0 :(得分:4)
您只是从表中选择用户名。您没有选择密码,因此当您尝试从结果集中检索密码时会抛出异常。
将查询更改为:
string selectString = "SELECT usernam, passwd FROM Table1";
答案 1 :(得分:1)
您还可以在查询中使用*而不是列名。这只是一个小场景。如果有多列,那么您只需要使用*。这将使您的查询变得简单。