Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

security

listView grande confusao!!! alguem me ajude pf

Mensagens Recomendadas

security

Boas pessoal

estou com um problema numa listView.

é o seguinte: eu preencho o formulario de reparação e faço guardar. ate aqui nada de mais. o programa guarda o registo e imprime o talao, tal como eu quero.

Mas de seguida vou as reparações onde tenho uma listView e nao me aparece nada! nao me faz a pesquisa. antes de commpactar a base de dados tinha cerca de 80 registos na tabela reparações e apenas apareciam as 1ªs 15.

o codigo e o seguinte:

maindb()
            Dim strSQL As String = "Select ID_rpr, tbl_aparelho.tipo, tbl_marca.tipo, numSerie From tbl_repara, tbl_aparelho, tbl_marca WHERE tbl_aparelho.id_aparelho=tbl_repara.id_aparelho  AND tbl_marca.id_marca=tbl_repara.id_marca"
            'Dim strSQL As String = "Select * from tbl_repara"
            Dim cmd As New OleDb.OleDbCommand(strSQL, coNn)
            coNn.Open()
            Dim leitor As OleDb.OleDbDataReader = cmd.ExecuteReader()
            With ListView1
                .Columns.Add("Assistência", 65, HorizontalAlignment.Right)
                .Columns.Add("Aparelho", 100, HorizontalAlignment.Left)
                .Columns.Add("Marca", 100, HorizontalAlignment.Left)
                .Columns.Add("Nº série", 250, HorizontalAlignment.Left)
                .FullRowSelect = True
                .View = View.Details
            End With
            Do While leitor.Read()
                Dim novoitem As New ListViewItem
                novoitem.Text = leitor(0)
                For i = 1 To leitor.FieldCount - 1
                    If leitor(i) Is DBNull.Value Then
                        novoitem.SubItems.Add(" ")
                    Else
                        novoitem.SubItems.Add(leitor.Item(i).ToString)
                    End If
                Next
                ListView1.Items.Add(novoitem)
            Loop
            coNn.Close()

é de salientar uma linha que está como comentario logo no inicio do codigo. com este codigo acima nao pesquisa as reparações que se encontram gravadas na BD. com a intrução:

Dim strSQL As String = "Select * from tbl_repara"

ja aparece as reparações que la se encontram. acontece que nao posso ver qual o tipo de aparelho nem a respectiva marca.

alguem me sabe explicar como resolver o problema?


"Innovation distinguishes between a leader and a follower." Steve jobs.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fLaSh_PT

Desculpa, mas está confuso de perceber onde tens duvidas..


Making the impossible possible and pwing the world on db at a time.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jnetic

Tens a certeza que todos os códigos em tbl_repara têm correspondência nas outras tabelas?

Select ID_rpr, tbl_aparelho.tipo, tbl_marca.tipo, numSerie
FROM  tbl_repara, tbl_aparelho, tbl_marca
WHERE tbl_aparelho.id_aparelho = tbl_repara.id_aparelho AND tbl_marca.id_marca = tbl_repara.id_marca"

🤔

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
security

eu uso listViwes para listar todos os registos de uma dada tabela.

e todas as listviwes funcionam menos uma. a listview das reparações nao funciona, ou seja, com a instrução "Select * from tbl_repara" na listview aparecem todas os registos ai presentes nessa tabela. se utilizar "Select ID_rpr, tbl_aparelho.tipo, tbl_marca.tipo, numSerie From tbl_repara, tbl_aparelho, tbl_marca WHERE tbl_aparelho.id_aparelho=tbl_repara.id_aparelho  AND tbl_marca.id_marca=tbl_repara.id_marca" não me lista nenhum registo


"Innovation distinguishes between a leader and a follower." Steve jobs.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
security

sim. eu utilizo codigo desse genero noutras partes do software e funcionam


"Innovation distinguishes between a leader and a follower." Steve jobs.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jnetic

Se o conteúdo dos campos é igual, então também não entendo porque não te funciona.

Tentaste correr a query directamente na BD? Funciona?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
security

sim... na sql da BD corri o codigo e funcionou. foi inclusive um prof de BD que faz isso.


"Innovation distinguishes between a leader and a follower." Steve jobs.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.