Как вставить значения из базы данных доступа в комбинированный список в Visual Basic 2010 - PullRequest
0 голосов
/ 19 марта 2012

Мне удалось вставить только 1 значение, первое значение, которое я вставил в базу данных.Проблема в том, что у меня в выпадающем списке более одного значения, но оно вставляет только первое.

У меня есть такой код:

Dim query1 As New OleDbCommand(" SELECT MembrosCompasso.BI, MembrosCompasso.Ano FROM Compasso INNER JOIN MembrosCompasso ON Compasso.idCompasso = MembrosCompasso.idCompasso WHERE BI=@BI ", con)
        query1.Parameters.Add("@BI", OleDbType.VarChar).Value = BI.Text
        Dim dr1 As OleDbDataReader = query1.ExecuteReader

        Try
            If dr1.HasRows Then
                dr1.Read()
                Ano.Items.Item.add(dr1("Ano"))
            Else
                MsgBox("Não exsitem registos!")
            End If
        Catch ex As Exception
            ' tratamento de erros
        Finally
            dr.Close()
            con.Close()
        End Try

1 Ответ

0 голосов
/ 19 марта 2012

Когда вы используете DataReader, текущая позиция увеличивается на одну строку каждый раз, когда вы вызываете метод .Read, вы не получаете все записи в считывателе одним вызовом.Read возвращает логическое значение, которое сообщает вам, успешно ли оно выполнено или нет, чтобы вы знали, можете ли вы перейти к следующей записи, поэтому ваш код должен выглядеть примерно так:

...
If dr1.HasRows Then
    'Loop around the reader until we run out of rows
    While dr1.Read
        'Add each rows' item to the combobox
        Ano.Items.Item.add(dr1("Ano"))
    End While
Else
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...