none
INSERTAR UNA LISTBOX A UNA BASE DE DATOS DE ACCESS DESDE VISUAL BASIC 2010 RRS feed

  • Pregunta

  • BUENAS, TENGO UNA LISTBOX CON VARIOS DATOS, QUIERO AGREGAR A UNAS CASILLA DE ACCESS PERO QUE ESTE EN UNA SOLA CASILLA ES DECIR QUE LA LISTBOX LA TOME COMO UN TEXT Y NO TENGA NECESIDAD DE INGREAR COLUMNA POR COLUMNA O COMO ME RECOMIENDAN?

    ANDRES FELIPE BAHAMON MONJE

    sábado, 27 de mayo de 2017 23:44

Respuestas

  • Puedes utilizar la función String.Join() para concatenar los valores de la lista separados por una coma -o el separador que prefieras-, por ejemplo:

    Dim Lista = String.Join(", ", ListBox1.Items.Cast(Of String)().ToArray()).TrimEnd(","c)
    '...
    'Lista: Valor1, Valor2, Valor3, Valorn
    'cmd.Parameters.AddWithValue("@Param", Lista)


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    domingo, 28 de mayo de 2017 17:16

Todas las respuestas

  • Puedes utilizar la función String.Join() para concatenar los valores de la lista separados por una coma -o el separador que prefieras-, por ejemplo:

    Dim Lista = String.Join(", ", ListBox1.Items.Cast(Of String)().ToArray()).TrimEnd(","c)
    '...
    'Lista: Valor1, Valor2, Valor3, Valorn
    'cmd.Parameters.AddWithValue("@Param", Lista)


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    domingo, 28 de mayo de 2017 17:16
  • Mira el codigo que tengo me inserta elemento por elemento a la base de datos pero en diferente fila de la misma columna Enzimaticos.... lo que quiero es concatenar como tu dices pero no entiendo tu codigo para que me quede en una sola celda... Gracias por tu ayuda.

     If (Aromas.ListBoxEnzimaticos.Items.Count = 0) Then Return
         
                ' Construimos la consulta SQL de datos añadimos
                ' que vamos a ejecutar para insertar nuevos
                ' registros.
                    
            Dim sql As String = _
                "INSERT INTO AROMAS (ENZIMATICOS) VALUES (?)"
    
             ' Conforme recorremos los elementos del control
             ' ListBox, vamos añadiendo nuevas filas a la tabla.
                    
       For Each item As String In Aromas.ListBoxEnzimaticos.Items
                       
             ' Creamos el comando
    
      Using cmd As OleDb.OleDbCommand = ConAromas.CreateCommand()
    
                    cmd.CommandText = sql
            
                    cmd.Parameters.AddWithValue("", item)
                    
               ' Ejecutamos el comando
                    
                  cmd.ExecuteNonQuery()
    
                End Using
    
                    Next
    Gracias


    ANDRES FELIPE BAHAMON MONJE

    domingo, 28 de mayo de 2017 17:40
  • Inserta el valor que contiene la lista concatenada.

    If (Aromas.ListBoxEnzimaticos.Items.Count = 0) Then Return
    
    Dim sql = "INSERT INTO AROMAS (ENZIMATICOS) VALUES (?)"
    
    Using cmd As OleDb.OleDbCommand(sql, conn)
    
    	Dim Lista = String.Join(", ", ListBoxEnzimaticos.Items.Cast(Of String)().ToArray()).
    						TrimEnd(","c)
    
    	cmd.Parameters.AddWithValue("@param1", Lista)
    
    	cmd.ExecuteNonQuery()
    End Using


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    domingo, 28 de mayo de 2017 17:48
  • Gracias amigo veo que tienes buenos conocimientos, Gracias por sacar un tiempo y explicarme 


    ANDRES FELIPE BAHAMON MONJE

    domingo, 28 de mayo de 2017 18:29