CARREGAR LIST VIEW APARTIR DE UM BANCO DE DADOS

ALUIZPD 14/11/2011 19:55:49
#389151
Então estou tentando carregar uma List View no visual studio 2008 puxando os dados de um banco do My SQL. Eu uso esse código aqui ao clique do botão:

Private Sub BTNconsulta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNconsulta.Click
SQL = [Ô]Select * From Tblordem Where Tblordem.Placa = ([ô][Ô] & TXTconsulta.Text & [Ô][ô])[Ô]
RecordSet.Open(SQL, Conexao)

[ô]Cria as colunas do List View
LSVdados.Columns.Add([Ô]Codigo[Ô], -1, HorizontalAlignment.Left)
LSVdados.Columns.Add([Ô]Nome[Ô], -1, HorizontalAlignment.Left)
LSVdados.Columns.Add([Ô]Veículo[Ô], -1, HorizontalAlignment.Left)
LSVdados.Columns.Add([Ô]Placa[Ô], -1, HorizontalAlignment.Left)

[ô]Define o tamanho das colunas da List
LSVdados.Columns(0).Width = LSVdados.Width - 5
LSVdados.Columns(1).Width = LSVdados.Width - 5
LSVdados.Columns(2).Width = LSVdados.Width - 5
LSVdados.Columns(3).Width = LSVdados.Width - 5
LSVdados.Columns(1).Width = LSVdados.Width - 5

[ô]Carrega os dados do select no list utilizando as propriedades EOF e BOF na estrutura de repetição

Do While RecordSet.EOF = False
I = 0
[ô]Guarda o resultado de pesquisa em variáveis
sCodigo = RecordSet.Fields([Ô]Codigo[Ô]).Value [ô]*Extrai o conteúdo do objeto recordset e guarda na variável
sNome = RecordSet.Fields([Ô]Nome_Cliente[Ô]).Value [ô]Extrai o conteúdo do objeto recordset e guarda na variável
sVeiculo = RecordSet.Fields([Ô]Veiculo[Ô]).Value
sPlaca = RecordSet.Fields([Ô]Placa[Ô]).Value

[ô]Adiciona o conteúdo das variáveis em cada coluna do list
Dim list As New ListViewItem([Ô]Item[Ô] & I)
list.SubItems.Add(sCodigo)
list.SubItems.Add(sNome)
list.SubItems.Add(sVeiculo)
list.SubItems.Add(sPlaca)
LSVdados.Items.Add(list)
RecordSet.MoveNext() [ô]Movimenta o ponteiro para a próxima linha
I = I + 1
Loop
RecordSet.Close()
End Sub

Mas quando esse código é executado, a list não carrega, não aparece nem coluna, nem linha só um dado com o texto [Ô]item0[Ô].

Quem puder me ajudar eu agradeço!!
OMAR2011 14/11/2011 21:15:35
#389152
Você já tentou usar os prórios códigos do vb2008.
Instale o mysql-connector-net-6.4.4
Faz a referência no seu projeto e comece.
DANLEONHART 14/11/2011 21:53:08
#389153
Amigo, vou deixar a Sub que uso em um dos projetos meu...

Sub FullListView()
Dim s_SQL As String = [Ô]SELECT * FROM Tabela[Ô]
Using Con As New OleDbConnection(Scon)
Con.Open()
Using Cmd As New OleDbCommand(s_SQL, Con)
Using Dr As OleDbDataReader = Cmd.ExecuteReader
[ô] Colocando Nomes nas colunas do ListView:

With ListView1
.Clear()
.Columns.Add([Ô]Data[Ô], 130, System.Windows.Forms.HorizontalAlignment.Center)
.Columns.Add([Ô]Tipo[Ô], 150, System.Windows.Forms.HorizontalAlignment.Left)
.Columns.Add([Ô]Metragem[Ô], 140, System.Windows.Forms.HorizontalAlignment.Right)
.Columns.Add([Ô]Turno[Ô], 100, System.Windows.Forms.HorizontalAlignment.Left)
End With

[ô] Povoando o ListView
While Dr.Read
Dim Dt As String = Dr.Item([Ô]Data[Ô])
Dim Ls As New ListViewItem(Dt, 1)
With Ls
.SubItems.Add(Dr.Item([Ô]Tipo[Ô]))
.SubItems.Add(FormatNumber(Dr.Item([Ô]Metragem[Ô]), 2))
.SubItems.Add(Dr.Item([Ô]Turno[Ô]))
ListView1.Items.Add(Ls)
End With
End While
End Using
End Using
End Using
End Sub


A minha Tabela é: Tabela
Data, Tipo, Metragem e Turno são alguns Campos de minha tabela...
a variável [Ô]Scon[Ô] é onde está minha String de conexão com o BD (uso Access 2007)
ListView1 é o meu ListView (óbvio...)
Preencho o meu ListView com um DataReader...

Espero que te ajude !
PEGUDO 15/11/2011 10:03:03
#389164
1º verifique se você colocou a propriedade View do ListView para Details e, NESTE EXEMPLO, devem ser adicionadas 3 colunas.
2º Crie uma variável do tipo ListViewItem: [txt-color=#e80000]Dim Item As ListViewItem[/txt-color]
3º Depois que você retornar os dados com RecordSet, faça o loop.
Exemplo
[txt-color=#0000f0]Dim[/txt-color] C [txt-color=#0000f0]As New[/txt-color] ADODB.Connection, RecSet [txt-color=#0000f0]As[/txt-color] ADODB.RecordSet

Conectar() [txt-color=#007100][ô]Conexão com o BD[/txt-color]

RecSet = C.Execute([txt-color=#e80000][Ô]SELECT * FROM tblFuncionarios[Ô][/txt-color])

[txt-color=#007100][ô]Digamos que eu só tenha os campos nome, idade e telefone na tabela[/txt-color]

While Not RecSet.EOF
Item = ListView1.Items.Add(RecSet([txt-color=#e80000][Ô]nome[Ô][/txt-color]).Value.ToString)
Item.SubItems.Add(RecSet([txt-color=#e80000][Ô]idade[Ô][/txt-color]).Value) [txt-color=#007100][ô]Não coloquei [Ô].ToString[Ô] porque estou supondo que [Ô]idade[Ô] é um campo numérico[/txt-color]
Item.SubItems.Add(RecSet([txt-color=#e80000][Ô]telefone[Ô][/txt-color]).Value.ToString)
RecSet.MoveNext()
End While

RecSet.Close()
c.Close()
Tópico encerrado , respostas não são mais permitidas