无法关闭我的OleDbDataReader for MS Access数据库

时间:2019-02-16 06:14:42

标签: vb.net ms-access-2013 oledbdatareader

这是我的代码:

'Validation for admin:
    cmd = New OleDbCommand("SELECT * FROM tblSettings WHERE Admin_username=@Username AND Admin_password=@password;", conn)
    Try
        conn.Open()
        'Add parameters:
        cmd.Parameters.AddWithValue("@username", txtUsername.Text)
        cmd.Parameters.AddWithValue("@password", txtPassword.Text)
        'Reader in action:
        Using rd As OleDbDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
            If rd.Read Then
                If StrComp(txtPassword.Text, rd.GetValue(rd.GetOrdinal("Admin_password")), 0) = 0 Then
                    cmd.ExecuteNonQuery()
                    Me.Hide()
                    frmLoginType.Hide()
                    frmMain.MenuStrip1.Enabled = True
                Else
                    ErrorProvider1.SetError(txtPassword, "Invalid password!")
                End If
            Else
                ErrorProvider1.SetError(txtUsername, "Invalid username!")
                ErrorProvider1.SetError(txtPassword, "Invalid password!")
            End If
            rd.Close()
        End Using
        'Close connection:
        cmd.Dispose()
        conn.Close()
    Catch ex As Exception
        MsgBox(ex.Message, vbCritical, "Error")
    End Try

我已经尝试过,但是我不断收到错误消息,说“有一个与此命令相关的阅读器,必须先关闭它”。我做错了什么?谢谢

0 个答案:

没有答案