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。
代码背后的想法是登录页面。 我希望我的解释足够好。
最佳答案
您仅从表格中选择用户名。您没有选择密码,因此当您尝试从结果集中检索密码时,它会引发异常。
将查询更改为:
string selectString = "SELECT usernam, passwd FROM Table1";
关于c# - 从 Access 数据库 Access 两列时出现 IndexOutOfRange 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16417222/