none
Grabar multiseleccion de un list RRS feed

  • Pregunta

  • Buenos Días como puedo hacer para grabar multiseleccion de un list

    tengo este codigo donde agrego los parametros

     if (reader_comprueba.Read())
                                    {
                                        comandosupdate.Parameters.Clear();
                                        comandosupdate.Parameters.AddWithValue("@pedidokey", codigo);
                                        comandosupdate.Parameters.AddWithValue("@operador_finaliza", operador_finaliza);
                                        comandosupdate.Parameters.AddWithValue("@fecha_finaliza", fechafinaliza);
                                        comandosupdate.Parameters.AddWithValue("@estado_oficina", "A");
                                        comandosupdate.Parameters.AddWithValue("@estado_escogerped", "T");
                                        comandosupdate.Parameters.AddWithValue("@navepre", nave);
                                        comandosupdate.Parameters.AddWithValue("@letrapre", letrapre);
                                        comandosupdate.Parameters.AddWithValue("@sitiopre", sitiopre);
                                        comandosupdate.Parameters.AddWithValue("@carro", carro);
                                        comandosupdate.Parameters.AddWithValue("@color", "cuatro");
                                        comandosupdate.Parameters.AddWithValue("@estadoweb", 3);
                                        comandosupdate.ExecuteNonQuery();
    
                                        reader_comprueba.Close();
                                        ccc.Close();
    
                                        MessageBox.Show("El pedido : " + codigo + " Seleccionado Correectamente");
                                    }

    Concretamente la linea 

    comandosupdate.Parameters.AddWithValue("@sitiopre", sitiopre);

    es el que tiene en una variable la seleccion del list

    Saludos


    ruben

    lunes, 23 de noviembre de 2015 10:17

Respuestas

  • LO he conseguido con esto

                                StringBuilder listaubicacion = new StringBuilder();
    
                                foreach (var item in lstubicacion.SelectedItems )
                                    listaubicacion.AppendLine(item + " \n\r");
    Saludos


    ruben

    • Marcado como respuesta Ruben Lezcano lunes, 23 de noviembre de 2015 14:46
    lunes, 23 de noviembre de 2015 14:46

Todas las respuestas

  • hola

    pero si es una lista entonces no puede ser un valor simple en un parametro, vas a tener que cambiar la estructura de las tablas

    crear uan relacion uno a muchos entonces en una tabla insertas un registro maestro y en la otra los valores de la seleccion multiple de la lista que serian los detalles

    si esa lista seleccionas datos de otra entidad debes relacionarlos, puede ser una relacion uno a muchos o si la entidad que lista ya existe seria una relacion mucho a muchos, lo cual se logra con uan tabla intermedia

    me pregunto, conoces sobre diseño de base de datos ?

    -----

    lo que no em queda claro es porque usas

    if (reader_comprueba.Read())

    justo antes de realizar la operacion del insert, que es lo que compruebas ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 23 de noviembre de 2015 11:00
  • Hola Leandro aqui compruebo si no esta vacio una consulta if (reader_comprueba.Read())

    Me gustaría guardar la seleccion en un campo TEXT de la base de datos

    He visto que tu has comentado en el foro esto , 

    For Each li As ListItem In ListBox1.Items
        ' recorro el list
        If li.Selected = True Then
         
            p.AddNew
            p("codproducto") =li.SelectedValue
            p.Update
    
        End If
    Next

    y quería saber como puedo adaptar esto para que recorra el list y guarde por ejemplo en un campo text seguido de comas

    este es mi listado :

    01-01

    01-02

    01-03



    ruben

    lunes, 23 de noviembre de 2015 12:25
  • he puesto asi

                                foreach (var item in lstubicacion.SelectedItems )
                                    listaubicacion.Append(item + "\n");

    pero claro ahora quiero ese item pasar como parametro y guardar en mi tabla, pero no se como capturarlo


    ruben

    lunes, 23 de noviembre de 2015 12:35
  •  StringBuilder listaubicacion = new StringBuilder();
    
                                foreach (var item in lstubicacion.SelectedItems )
                                    listaubicacion.Append(item + "  \n ");

    Vale el listaubicacion me guarda el 01-01 01-02, cuando voy paso a paso veo esto, pero me gustaría que sea en forma de enter es decir

    01-01

    01-02

    Como lo hago?


    ruben

    lunes, 23 de noviembre de 2015 12:39
  • LO he conseguido con esto

                                StringBuilder listaubicacion = new StringBuilder();
    
                                foreach (var item in lstubicacion.SelectedItems )
                                    listaubicacion.AppendLine(item + " \n\r");
    Saludos


    ruben

    • Marcado como respuesta Ruben Lezcano lunes, 23 de noviembre de 2015 14:46
    lunes, 23 de noviembre de 2015 14:46