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 aplicacion



Mi 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

Comentarios

Entradas populares de este blog

Imprimir directamente ReportViewer a impresora predeterminada

DevComponents DotnetBar 12.5.0.2

Metodo Iterativo Gauss-Seidel en Visual Basic