LISTVIEW VB.NET - ADODB E ACCESS
Pessoal estou em dúvida de como preencher um listview utilizando uma conexao adodb em um banco access, segue abaixo exemplo do meu codigo, porém no final do mesmo nao consigo preencher o listview. Aguardo ideias...
[txt-color=#0000f0]Public Class Form1[/txt-color] Private Conexao As New ADODB.Connection
Private tabela As New ADODB.Recordset
Private Sub Abrirconexao()
Conexao = New ADODB.Connection
tabela = New ADODB.Recordset
Conexao.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Cadastro.mdb[ô][Ô]
Conexao.Open()
[txt-color=#0000f0] End Sub[/txt-color] Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
[ô] Define as colunas e propriedades da lista
With Me.lstmostra
lstmostra.Columns.Add([Ô]Login[Ô], 50, HorizontalAlignment.Left)
lstmostra.Columns.Add([Ô]Nome[Ô], 100, HorizontalAlignment.Left)
lstmostra.Columns.Add([Ô]Email[Ô], 250, HorizontalAlignment.Left)
lstmostra.Columns.Add([Ô]Nivel Acesso[Ô], 140, HorizontalAlignment.Left)
lstmostra.FullRowSelect = True
lstmostra.GridLines = True
lstmostra.View = View.Details
End With
Call Abrirconexao()
[txt-color=#e80000] [ô]Preenche o Listview (lstmostra)
Dim LVITEM As New ListViewItem
tabela.Open([Ô]SELECT * FROM CADASTRO_USUARIOS WHERE MMC_LOGIN LIKE [ô]AS070484[ô][Ô], Conexao)
LVITEM.SubItems(0) = tabela.Fields([Ô]MMC_LOGIN[Ô]).Value
LVITEM.SubItems(1) = tabela.Fields([Ô]MMC_NOME[Ô]).Value
LVITEM.SubItems(2) = tabela.Fields([Ô]MMC_EMAIL[Ô]).Value
LVITEM.SubItems(3) = tabela.Fields([Ô]MMC_NIVEL[Ô]).Value[/txt-color]
Conexao.Close()
[txt-color=#0000f0] End Sub[/txt-color]
[txt-color=#0000f0]End Class[/txt-color]
[txt-color=#0000f0]Public Class Form1[/txt-color] Private Conexao As New ADODB.Connection
Private tabela As New ADODB.Recordset
Private Sub Abrirconexao()
Conexao = New ADODB.Connection
tabela = New ADODB.Recordset
Conexao.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Cadastro.mdb[ô][Ô]
Conexao.Open()
[txt-color=#0000f0] End Sub[/txt-color] Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
[ô] Define as colunas e propriedades da lista
With Me.lstmostra
lstmostra.Columns.Add([Ô]Login[Ô], 50, HorizontalAlignment.Left)
lstmostra.Columns.Add([Ô]Nome[Ô], 100, HorizontalAlignment.Left)
lstmostra.Columns.Add([Ô]Email[Ô], 250, HorizontalAlignment.Left)
lstmostra.Columns.Add([Ô]Nivel Acesso[Ô], 140, HorizontalAlignment.Left)
lstmostra.FullRowSelect = True
lstmostra.GridLines = True
lstmostra.View = View.Details
End With
Call Abrirconexao()
[txt-color=#e80000] [ô]Preenche o Listview (lstmostra)
Dim LVITEM As New ListViewItem
tabela.Open([Ô]SELECT * FROM CADASTRO_USUARIOS WHERE MMC_LOGIN LIKE [ô]AS070484[ô][Ô], Conexao)
LVITEM.SubItems(0) = tabela.Fields([Ô]MMC_LOGIN[Ô]).Value
LVITEM.SubItems(1) = tabela.Fields([Ô]MMC_NOME[Ô]).Value
LVITEM.SubItems(2) = tabela.Fields([Ô]MMC_EMAIL[Ô]).Value
LVITEM.SubItems(3) = tabela.Fields([Ô]MMC_NIVEL[Ô]).Value[/txt-color]
Conexao.Close()
[txt-color=#0000f0] End Sub[/txt-color]
[txt-color=#0000f0]End Class[/txt-color]
Primeiro você deve definir o primeiro item do listview:
Exemplo de um programa de ponto que eu fiz:
[txt-color=#0000f0]Dim[/txt-color] Item [txt-color=#0000f0]As ListViewItem[/txt-color]
[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
frmPrincipal.ListNomes.Items.Clear() [txt-color=#007100][ô]Limpando o ListView[/txt-color]
C.Open(Conexao) [txt-color=#007100][ô]Abrindo conexão com o BD[/txt-color]
RecSet = C.Execute([txt-color=#e80000][Ô]select * from dbgestao.tbloperadores where status<>0[Ô][/txt-color]) [txt-color=#007100][ô]Buscando dados do BD[/txt-color]
[txt-color=#0000f0]While Not[/txt-color] RecSet.EOF
[txt-color=#007100][ô]O nome do meu ListView é ListNomes[/txt-color]
Item = frmPrincipal.ListNomes.Items.Add(Nome) [txt-color=#007100][ô]Definindo o primeiro item[/txt-color]
Item.SubItems.Add(Entrada) [txt-color=#007100][ô]Inserindo dados na coluna seguinte[/txt-color]
Item.SubItems.Add(Almoco) [txt-color=#007100][ô]Inserindo dados na coluna seguinte[/txt-color]
Item.SubItems.Add(Retorno) [txt-color=#007100][ô]Inserindo dados na coluna seguinte[/txt-color]
Item.SubItems.Add(Saida) [txt-color=#007100][ô]Inserindo dados na coluna seguinte[/txt-color]
RecSet.MoveNext()
[txt-color=#0000f0]End While[/txt-color]
RecSet = [txt-color=#0000f0]Nothing[/txt-color]
C.Close()
No seu caso, tente:
[txt-color=#0000f0]Dim[/txt-color] LVITEM [txt-color=#0000f0]As ListViewItem[/txt-color]
LVITEM = [txt-color=#0000f0]Me[/txt-color].lstmostra.Items.Add(tabela.Fields([txt-color=#e80000][Ô]MMC_LOGIN[Ô][/txt-color]).Value.ToString)
LVITEM.SubItems.Add(tabela.Fields([txt-color=#e80000][Ô]MMC_NOME[Ô][/txt-color]).Value.ToString)
LVITEM.SubItems.Add(tabela.Fields([txt-color=#e80000][Ô]MMC_EMAIL[Ô][/txt-color]).Value.ToString)
LVITEM.SubItems.Add(tabela.Fields([txt-color=#e80000][Ô]MMC_NIVEL[Ô][/txt-color]).Value.ToString)
Conexao.Close()
Exemplo de um programa de ponto que eu fiz:
[txt-color=#0000f0]Dim[/txt-color] Item [txt-color=#0000f0]As ListViewItem[/txt-color]
[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
frmPrincipal.ListNomes.Items.Clear() [txt-color=#007100][ô]Limpando o ListView[/txt-color]
C.Open(Conexao) [txt-color=#007100][ô]Abrindo conexão com o BD[/txt-color]
RecSet = C.Execute([txt-color=#e80000][Ô]select * from dbgestao.tbloperadores where status<>0[Ô][/txt-color]) [txt-color=#007100][ô]Buscando dados do BD[/txt-color]
[txt-color=#0000f0]While Not[/txt-color] RecSet.EOF
[txt-color=#007100][ô]O nome do meu ListView é ListNomes[/txt-color]
Item = frmPrincipal.ListNomes.Items.Add(Nome) [txt-color=#007100][ô]Definindo o primeiro item[/txt-color]
Item.SubItems.Add(Entrada) [txt-color=#007100][ô]Inserindo dados na coluna seguinte[/txt-color]
Item.SubItems.Add(Almoco) [txt-color=#007100][ô]Inserindo dados na coluna seguinte[/txt-color]
Item.SubItems.Add(Retorno) [txt-color=#007100][ô]Inserindo dados na coluna seguinte[/txt-color]
Item.SubItems.Add(Saida) [txt-color=#007100][ô]Inserindo dados na coluna seguinte[/txt-color]
RecSet.MoveNext()
[txt-color=#0000f0]End While[/txt-color]
RecSet = [txt-color=#0000f0]Nothing[/txt-color]
C.Close()
No seu caso, tente:
[txt-color=#0000f0]Dim[/txt-color] LVITEM [txt-color=#0000f0]As ListViewItem[/txt-color]
LVITEM = [txt-color=#0000f0]Me[/txt-color].lstmostra.Items.Add(tabela.Fields([txt-color=#e80000][Ô]MMC_LOGIN[Ô][/txt-color]).Value.ToString)
LVITEM.SubItems.Add(tabela.Fields([txt-color=#e80000][Ô]MMC_NOME[Ô][/txt-color]).Value.ToString)
LVITEM.SubItems.Add(tabela.Fields([txt-color=#e80000][Ô]MMC_EMAIL[Ô][/txt-color]).Value.ToString)
LVITEM.SubItems.Add(tabela.Fields([txt-color=#e80000][Ô]MMC_NIVEL[Ô][/txt-color]).Value.ToString)
Conexao.Close()
se vc está usando .net, pq não usa o ado.net?
MarcosLIng, poderia por favor passar um exemplo de como ficaria no ado.net?
Citação::
MarcosLIng, poderia por favor passar um exemplo de como ficaria no ado.net?
Artigo completo e com código fonte.
VB .NET- Manutenção de dados com ListView, ADO .NET usando DAL - I
VB .NET- Manutenção de dados com ListView, ADO .NET usando DAL - II
Tópico encerrado , respostas não são mais permitidas