Проблема закрытия моего OleDbDataReader для базы данных MS Access - PullRequest
0 голосов
/ 16 февраля 2019

вот мой код:

'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

Я пытался, но постоянно получаю сообщение об ошибке: «С этой командой связан считыватель, который должен быть закрыт первым».Что я не правильно делаю?Спасибо

...