Manejo del Control Listview Parte 3
Llenar Listview con base de datos Access
Que tal programadores un poco atrasado y terminando con las publicaciones importantes del control Listview, ahora les he traido como llenarlo con una base de datos Access 2003(.mdb). Para esto les muestro una captura de los objetos requeridos en diseño:
Todos los visto en la captura además, incluido el control OpenFileDialog1 para abrir la base de datos y un control StatusStrip para decorarle.
Suponiendo que tenemos nuestra base de datos conectada solo nos queda crear las columnas como la figura arriba (cabeceras de acuerdo a los campos de nuestra base de datos) y luego rellenar en listview:
Expongo el código del Form
Public Class Form1
Dim connex As New ConectarBD
Dim tablas As DataTable
Private Sub Cargar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cargar.Click
Try
'Abre cuadro de dialogo de para buscar la base Access
With OpenFileDialog1
.Title = "Seleccionar base de datos"
.Filter = "Bases de Access (*.mdb)|*.mdb"
If .ShowDialog = DialogResult.OK Then
txtbaseDir.Text = .FileName
End If
End With
' cmdconect_Click(AcceptButton, AcceptButton)
Dim tab As String = "SELECT * FROM Coleccion ORDER BY Año"
connex.Conectar(txtbaseDir.Text, tab)
For Each dr As DataRow In connex.dt.Rows
Dim item As ListViewItem
item = New ListViewItem(dr("Titulo").ToString)
item.SubItems.Add(dr("Autor").ToString)
item.SubItems.Add(dr("Editorial").ToString)
item.SubItems.Add(dr("Año").ToString)
item.SubItems.Add(dr("ISBN").ToString)
item.SubItems.Add(dr("Precio").ToString)
item.SubItems.Add(dr("Estado").ToString)
ListView1.Items.Add(item)
Next
Catch ex As Exception
MessageBox.Show("ERROR al conectar o recuperar los datos:" & vbCrLf & _
ex.Message, "Conectar con la base", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
Mi base de datos se llama "Libros.mbd" y aqui te pongo la clase para conectar la base
Imports System.Data
Imports System.Data.OleDb
Public Class ConectarBD
Public dt As DataTable
Public da As OleDbDataAdapter
Public fila As Integer
Public ds As New DataSet
Public Function Conectar(ByVal dirPath As String, ByVal tabla As String) As String
Dim sCnn As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & dirPath
' La cadena de selección
Dim sSel As String = tabla
' Comprobar si hay algún error
Try
' Crear un nuevo objeto del tipo DataAdapter
da = New OleDbDataAdapter(sSel, sCnn)
' Crear los comandos de insertar, actualizar y eliminar
Dim cb As New OleDbCommandBuilder(da)
' Como hay campos con caracteres especiales,
' al usarlos incluirlos entre corchetes.
cb.QuotePrefix = "["
cb.QuoteSuffix = "]"
' Asignar los comandos al DataAdapter
' (se supone que lo hace automáticamente, pero...)
' da.UpdateCommand = cb.GetUpdateCommand
da.InsertCommand = cb.GetInsertCommand
' da.DeleteCommand = cb.GetDeleteCommand
' Esta base de datos usa el ID con valores automáticos
' da.MissingSchemaAction = MissingSchemaAction.AddWithKey
dt = New DataTable
' Llenar la tabla con los datos indicados
da.Fill(dt)
Catch ex As Exception
MessageBox.Show("ERROR al conectar o recuperar los datos:" & vbCrLf & _
ex.Message, "Conectar con la base", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Return Conectar
End Function
End Class
Mi captura cuando ejecuto la aplicacionMi proyecto: https://docs.google.com/open?id=0B-UGWA03tc5ZZ1VuWm1kVkQ2cWM
Estoy presto a escuchar sus comentarios, disculpen si algo se me escapo y si les parece interesante donen un me gusta o recomienden a un amigo esta publicacion..gracias y hasta otra entrega nos vemos
.jpg)
Comentarios
Publicar un comentario