none
Tengo un problema DataGridView o Listview RRS feed

  • Pregunta

  • tengo un boton de insertar y otro de guardar, el de insertar esta configurado para inserte los datos en DataGridView, y quiero que me guarde los datos de DataGridView a SQL y quiero que cuando guarde los datos el DataGridView este vacio para poder insertar nuevos datos.

    y me gustaria saber si es mejor usar listview en debe del DataGridView.

    viernes, 25 de marzo de 2016 16:17

Todas las respuestas

  • Hasta donde recuerdo el ListView no puede vincularse a datos.  Tendría que manejarlo todo "manualmente".  Pero bueno, tal vez así lo está haciendo con el DGV de todas formas, ¿o me equivoco?

    En fin, su pregunta se puede responder de muchas maneras dependiendo de cómo accede a la base de datos y cómo llena el DGV, algunas de las cuales yo personalmente las tacho como incorrectas.

    Lo que yo recomiendo es el uso de colecciones de clases Entidad vinculadas a los controles como el DGV.  Este método supone que usted sabe programar en capas.

    Pero en fin, cuéntenos:

    1. ¿Cómo llena la grilla?  ¿O la grilla siempre está en blanco y lo único que debe hacer es insertar nuevos datos?
    2. ¿Sabe usted programar en capas?
    3. Si sí a #2, ¿está actualmente programando en capas?

    Jose R. MCP
    Code Samples

    viernes, 25 de marzo de 2016 16:50
    Moderador
  • hola

    veo muchos "quiero" en la explicacion, pero que has intentado implementar ?

    como es esa configuracion de insertar datos en el datagridview, no estas asignando un datatable o lista en el DataSource del grid

    porque en el datagridview no se inserta nada, sino que se lista los registros

    >>me gustaria saber si es mejor usar listview en debe del DataGridView.

    si la idea es mostrar datos con estructura de tablas con rows y columns entonces sua el DataGridView

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    viernes, 25 de marzo de 2016 16:56
  • Le voy a explicare

    Tengo varios TextBox

    Cliente ,No. Corrida, No. Corte, Lugar, No. Caja, CV .estos son los TextBox.

    Tengo Label de usuario y un calendario

    en el DataGridView tengo las columnas

    Cliente ,No. Corrida, No. Corte, Lugar, No. Caja, CV.

    los botones son insertar y guardar.

    en la base de dato SQL tengo las tablas asi mismo.

    Todo me funciona bien se inserta pero cuando le doy a guardar no se guarda en la Base de Datos Creada.

    Me gustaria que cuando guarde se quede el DatagridView en blanco.

    Este es el codigo que utilizo para guardar los datos.

     private void button2_Click(object sender, EventArgs e)

            {
               
                try
                {
                    
                    string cmd = string.Format("INSERT INTO CV (cliente, norun, corte, lugar,nocaja, cv,usuario) VALUES ('" + cbcliente.Text + "','" + txtnorun.Text.Trim() + "','" + txtcorte.Text.Trim() + "','" + cblugar.Text + "','" + txtnocaja.Text.Trim() + "','" + txtdensimetro.Text.Trim() + "','" + lbusarui + "')");
                    DataSet ds;
                    ds = Utilidades.Ejecutar(cmd);
                    
                   
                }
                catch (Exception Warning)
                {
                    MessageBox.Show("Se ha producido un Error level :" + Warning.Message);
                }
            }

    sábado, 26 de marzo de 2016 1:32
  • Ok, según entiendo tiene un formulario, y en este formulario tiene tanto las casillas de texto como el DGV.  El usuario digita la información en las casillas de texto y presiona el botón Insertar, que inserta los datos en el DGV.

    Cuando el usuario ha terminado de insertar filas en el DGV, presiona el botón Guardar que envía todas las filas del DGV a base de datos.

    ¿Entendí correctamente la logística de operación?

    Ahora bien.  Usted dice:

    Todo me funciona bien se inserta pero cuando le doy a guardar no se guarda en la Base de Datos Creada.

    ¿Se insertan los registros o no se insertan los registros?  Su oración me parece contradictoria:  Dice que sí se inserta pero que NO se guarda.  ¿El insertar en base de datos no es lo mismo que guardar?

    Ahora pasemos al código:  Está muy mal hecho eso de crear la sentencia SQL concatenando valores.  Debe usted aprender  a crear consultas parametrizadas.  Este artículo le explica por qué y le muestra cómo parametrizar.

    Luego retomemos la logística.  Si estoy en lo correcto, su código está actualmente incorrecto porque solamente toma los datos de las casillas de texto cuando en realidad debería tener un bucle que recorra las filas del DGV una por una y una por una ejecutar la sentencia INSERT.

    En fin, le agradeceré que me confirme si estoy o no en lo correcto en cuanto a la logística de su aplicación, y si no es así, que me explique más detenidamente cómo se usa su formulario(s).  Ah, y me gustaría que me muestre cómo agrega filas al DGV.


    Jose R. MCP
    Code Samples

    sábado, 26 de marzo de 2016 16:17
    Moderador
  • Si estas en lo correcto.

    Esta es la programacion del boton Insertar

    dataGridView1.Rows.Add(cbcliente.Text, txtnorun.Text.Trim(), txtcorte.Text.Trim(), cblugar.Text, txtnocaja.Text.Trim(), txtdensimetro.Text, lbusarui);

    sábado, 26 de marzo de 2016 19:28