none
Problema con ListView RRS feed

  • Pregunta

  • Buenas tardes,

    tengo un problema con mi listview aver si me podeís ayudar, tengo una base de datos access conectada con mi aplicacion y tengo un form para consultar gente, es decir mi base de datos se compone de 3 campos NombreCompleto, Nif y Cliente. Tengo un Combobx para selecionar la categoria y un textboxt con el que hago las consultas.

    este es el codigo que tengo en mi form:

      

    Dim index As Integer = 0

    If ComboBox1.SelectedIndex = 0 Then Dim cmd As OleDbCommand cmd = conexion.CreateCommand cmd.CommandText = "SELECT * FROM Empleados" Dim leer As OleDbDataReader leer = cmd.ExecuteReader() While leer.Read() ListView1.Items.Add(leer.GetValue(1).ToString) ListView1.Items(index).SubItems.Add(leer.GetValue(2)) ListView1.Items(index).SubItems.Add(leer.GetValue(3)) index = index + 1 End While conexion.Close() ElseIf ComboBox1.SelectedIndex = 1 Then Dim cmd As OleDbCommand cmd = conexion.CreateCommand cmd.CommandText = "SELECT * FROM Empleados WHERE NombreCompleto = '" & TextBox1.Text & "'" Dim leer As OleDbDataReader leer = cmd.ExecuteReader() While leer.Read() ListView1.Items.Add(leer.GetValue(1).ToString) ListView1.Items(index).SubItems.Add(leer.GetValue(2)) ListView1.Items(index).SubItems.Add(leer.GetValue(3)) index = index + 1 End While conexion.Close() ElseIf ComboBox1.SelectedIndex = 2 Then Dim cmd As OleDbCommand cmd = conexion.CreateCommand cmd.CommandText = "SELECT * FROM Empleados WHERE NIF = '" & TextBox1.Text & "'" Dim leer As OleDbDataReader leer = cmd.ExecuteReader() While leer.Read() ListView1.Items.Add(leer.GetValue(1).ToString) ListView1.Items(index).SubItems.Add(leer.GetValue(2)) ListView1.Items(index).SubItems.Add(leer.GetValue(3)) index = index + 1 End While conexion.Close() ElseIf ComboBox1.SelectedIndex = 3 Then Dim cmd As OleDbCommand cmd = conexion.CreateCommand cmd.CommandText = "SELECT * FROM Empleados WHERE Cliente = '" & TextBox1.Text & "'" Dim leer As OleDbDataReader leer = cmd.ExecuteReader() While leer.Read() ListView1.Items.Add(leer.GetValue(1).ToString) ListView1.Items(index).SubItems.Add(leer.GetValue(2)) ListView1.Items(index).SubItems.Add(leer.GetValue(3)) index = index + 1 End While conexion.Close()

    Ahora todo funciona bien, pero como hago para que cuando hago otra nueva consulta en vez de añadirmelo al listview se limpie esa lista y me realize otra vez la busqueda con los nuevos parametros, todo ese codigo es cuando se hace click en buscar en un boton. Gracias.

    lunes, 9 de octubre de 2017 17:18

Respuestas

  • Hola

    Te tocaría limpiar siempre antes de llenar:

    Dim leer As OleDbDataReader
                leer = cmd.ExecuteReader()
    ListView1.Items.Clear()
                While leer.Read()
                    ListView1.Items.Add(leer.GetValue(1).ToString)

    Saludos


    Brayan De la Cruz
    Lima - Perú


    lunes, 9 de octubre de 2017 17:24

Todas las respuestas