C# 我只是想知道如何使用MSAccess数据库中的其他数据显示忘记的密码

C# 我只是想知道如何使用MSAccess数据库中的其他数据显示忘记的密码,c#,ms-access-2013,C#,Ms Access 2013,这里是我运行程序时出错的地方。面板将显示向用户问好,然后显示他/她忘记的通行证 private void RevealForgetPass_Click(object sender, EventArgs e) { string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Users/rallf/Documents/dctcaccount.mdb";

这里是我运行程序时出错的地方。面板将显示向用户问好,然后显示他/她忘记的通行证

private void RevealForgetPass_Click(object sender, EventArgs e)
        {

            string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Users/rallf/Documents/dctcaccount.mdb";
            OleDbConnection cn = new OleDbConnection(connectString);
            cn.Open();
            string selectString = "select * from tbl_account where [Username]=@user and [Secret_Question]=@sq and [Secret_Answer]=@sa and [Pin]=@pin";
            OleDbCommand cmd = new OleDbCommand(selectString, cn);
            cmd.Parameters.Add(new OleDbParameter("@user", txtbox_username.Text.ToLower()));
            cmd.Parameters.Add(new OleDbParameter("@sq", cmbox_secquestion.Text));
            cmd.Parameters.Add(new OleDbParameter("@sa", txtbox_secretans.Text));
            cmd.Parameters.Add(new OleDbParameter("@pin", txtbox_pin.Text));
            cmd.CommandText = selectString;
            OleDbDataReader reader = cmd.ExecuteReader();



             int count = 0;
             while (reader.Read())
             {
                 count = count + 1;



             }
             if (count == 1)
             {

                 panel2.Visible = true;
                 lbl_username.Text = reader["Username"].ToString(); 
错误是这样的:

“System.InvalidOperationException”类型的未处理异常 发生在System.Data.dll中其他信息:不存在的数据 行/列

我尝试了包括reader.GetStringreader.GetOrdinal的不同方法 它们也不起作用。

不存储密码!只需存储他们的散列

然后,如果需要,让用户创建一个新密码

要解决错误,请执行以下操作: 您必须在loopwhile reader.Read.中提取数据。在循环之后,为时已晚,因为您到达了loopbdatareader的末尾,并且无法仅向前返回

整数计数=0; 边读边读 { 计数=计数+1; 字符串username=reader.item[username].ToString; string password=reader.item[password].ToString; }
lbl_password.Text = reader["Password"].ToString();
             }
             else
             {
                 MessageBox.Show("Invalid Account!");
                 cn.Close();
             }
             }