c# - 从 Access 数据库 Access 两列时出现 IndexOutOfRange 异常

标签 c# asp.net vb.net ms-access

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/

相关文章:

c# - XmlSerializer 不序列化自定义类型

c# - 在运行时生成 HTML 文件并作为电子邮件附件发送

c# - 无法显示按钮 asp.net

mysql - 无法在vb数据源中添加mysql数据库表

.net - 动态多维数组问题

c# - 如何根据其父节点的属性值查询XML节点

c# - wcf 联合安全 token 是 session token 还是可重用的?

C#如何判断一个数是不是另一个数的倍数?

c# - 客户端 ID 和 secret

javascript - Asp.NET 未获取 javascript 设置的自定义属性的更新值