CARREGAR LIST VIEW APARTIR DE UM BANCO DE DADOS
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!!
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!!
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.
Instale o mysql-connector-net-6.4.4
Faz a referência no seu projeto e comece.
Amigo, vou deixar a Sub que uso em um dos projetos meu...
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 !
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 !
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
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