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 ClassMi 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
Publicar un comentario