Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

l_nando

Exibir registros VB.NET

Recommended Posts

Boa noite pessoal!

 

Estou començando a aprender um pouco de VB.NET e estou tentando exibir os registros de uma tabela, até aí tudo bem e consigo, mas minha tabela ( ACCESS ) tem 21 registros, e só são exibidos 20.

 

Algué pode me dizer o que deve estar errado.

 

Segue parte do cod:

 

conn.Open()
        mycmd = New OleDbCommand("Select * from CliBD order by NOME", conn)

        mydr = mycmd.ExecuteReader
        mydr.Read()

        ListBox1.Items.Clear()

        Try
            'exibe os dados : nome da empresa(1) , nome do contato(2)
            While (mydr.Read)

                ListBox1.Items.Add(mydr.Item(1) & " ( " & mydr.Item(2) & " )" & " ( " & mydr.Item(3) & " )")
            End While
        Finally
            mydr.Close()
        End Try
        conn.Close()

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de usar o while, use a propriedade DataSource da ListBox e seta o DataReader como source, o ValueMember será o Código e o DisplayMember será o que você quer exibir. Procure no Google, existem vários tutoriais sobre DataSources em objetos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

 

Vou tentar fazer isso, mas na verdade queria saber porque o Select não está me retornando todos os registros.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ter uma série de fatores, se você imaginar que a sua sequencia de registros é um array de N posições começando do 0, os registros só irão até N-1 porque N é a posição destinada para que haja o próximo registro, ou seja, o array guarda uma posição vazia no final dele, fazendo com que você tenha que le-lo até o penúltimo registro apenas, isto pode estar acarretando o fato de que você está lendo um registro antes deste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite.

 

A solução foi a seguinte:

 

No form1_Load:

carregaListBox(ListBox1, "Select * from CliBD order by IDCLI")

depois:

Private Sub carregaListBox(ByVal ListBox1 As ListBox, ByVal query As String)

        ListBox1.Items.Clear()

        ' abre a conexão

        conn.Open()

        ' cria um command Select

        mycmd = New OleDbCommand(query, conn)

        ' Executa a consulta criando um datareader

        mydr = mycmd.ExecuteReader

        ' exibe o resultado no listbox

        'percorre o datareader

        Try
            'exibe os dados : nome da empresa(1) , nome do contato(2)
            While (mydr.Read)
                ListBox1.Items.Add(mydr.Item(1) & " ( " & mydr.Item(2) & " )" & " ( " & mydr.Item(3) & " )")
            End While
        Finally
            mydr.Close()
        End Try

        ' fecha a conexao

        conn.Close()
    End Sub

Agradeço pela ajuda.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.