Autor Tema: Como guardar datos DataGridView Visual Studio 2010 insertar filas (Visual Basic)  (Leído 66366 veces)

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Hola otra vez, ya solucioné el problema anterior, resulta que me había despistado un poco.

Pero traigo otro problema y por mas que busco no encuentro respuestas correctas y ahora lo traigo aquí, y es lo siguiente: 

Quiero introducir datos en 4 TextBox y con un boton hacer que se guarden en una DataGridView que está enlazada a datos y que al salir del formulario me guarde los datos introducidos en mi base de datos.

¿Alguien puede ayudarme?

Gracias
« Última modificación: 02 de Marzo 2016, 08:23 por César Krall »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2051
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #1 en: 12 de Febrero 2014, 11:34 »
Al salir del formulario se produce un evento, y como respuesta a dicho evento puedes introducir código para el guardado de datos, que aparezca un mensaje en pantalla, etc.

Ejemplo código para visual basic .net:

Código: [Seleccionar]
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        MsgBox("Se produce el cierre del formualrio")
    End Sub

End Class

Para poder ver tu problema en concreto, pega el código hasta donde hayas podido llegar para tratar de ver dónde surgen los problemas...

Saludos.

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:codigo para añadir al DataGridView
« Respuesta #2 en: 13 de Febrero 2014, 20:35 »
Hola ALEX.
El código que tengo es este, y me inserta los datos que introduzco en los TextBox dentro de la dataGrid, pero no me deja en blanco los TextBox y cuando reinicio la aplicación desaparecen los datos de la DataGrid.


Dim row As DataGridViewRow = DataGridView1.Rows(0)
        row.Cells(0).Value = TextBox4.Text
        row.Cells(3).Value = TextBox3.Text
        row.Cells(2).Value = TextBox2.Text
        row.Cells(1).Value = TextBox1.Text

Puedes hacer algo y Ayudarme?
Gracias.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2051
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #3 en: 14 de Febrero 2014, 13:40 »
Una opción que se me ocurre es que guardes los datos en un archivo, pero no sé si te resulta de interés. Necesitaría ver el código completo y el diseño del formulario, si es muy extenso puedes ponerlo en un archivo de texto adjunto.

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #4 en: 14 de Febrero 2014, 20:57 »
Hola ALEX, Mi código es el esta puesto un poco mas arriba y ademas es el que tengo, pero solo me agrega los datos a la DataGrid pero no me deja en blanco los TextBox y no los guarda en la base de datos, asi que cuando retorno a ejecutar la aplicación no tengo nada en la DataGrid.

Tengo un formulario con una DataGrdView, 4 TextBox y un Botón para Guardar los datos que introduzco en la DataGrid en la cual veo los campos de mi base de datos, y tengo enlazado la DataGrid a una base de datos local SQL

Espero me ayudes y por si acaso te pongo el código que he puesto


 Dim row As DataGridViewRow = DataGridView1.Rows(0)
        row.Cells(0).Value = TextBox4.Text
        row.Cells(3).Value = TextBox3.Text
        row.Cells(2).Value = TextBox2.Text
        row.Cells(1).Value = TextBox1.Text


Gracias
« Última modificación: 14 de Febrero 2014, 21:14 por fezaca »

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #5 en: 15 de Febrero 2014, 20:52 »
Como ves el código es muy sencillo pero es el único que tengo y el formulario que te envio (solo es esta mi aplicación) le falta dos botones uno eliminar y otro modificar, para borrar un registro de la base de datos ya en desuso ó modificar un dato equivocado.
Mi base de datos se lama DataBase2.mdf.
Y la tabla se llama BARCINO.
Código: [Seleccionar]

Dim row As DataGridViewRow = DataGridView1.Rows(0)
        row.Cells(0).Value = TextBox4.Text
        row.Cells(3).Value = TextBox3.Text
        row.Cells(2).Value = TextBox2.Text
        row.Cells(1).Value = TextBox1.Text

Gracias.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2051
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #6 en: 17 de Febrero 2014, 09:05 »
Con este código para Visual Basic 2010 puedes ir añadiendo todas las filas que quieras a una datagridview insertando datos y pulsando guardar, hasta que decidas terminar pulsando cerrar. Cada vez que insertas datos, los textBox se limpian de los datos anteriores.

Código: [Seleccionar]
Public Class Form1
    Dim row(4) As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button1.Text = "Guardar"
        Button2.Text = "Cerrar"
        DataGridView1.ColumnCount = 4
        DataGridView1.Columns(0).Name = "Fabricante"
        DataGridView1.Columns(1).Name = "Modelo"
        DataGridView1.Columns(2).Name = "Nombre recambio"
        DataGridView1.Columns(3).Name = "Referencia"
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        row(0) = TextBox1.Text
        row(1) = TextBox2.Text
        row(2) = TextBox3.Text
        row(3) = TextBox4.Text
        Dim rowToSave As String() = New String() {row(1), row(2), row(3), row(4)}
        DataGridView1.Rows.Add(row)
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
        End
    End Sub
End Class

Saludos

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #7 en: 17 de Febrero 2014, 10:29 »
Gracias ALEX lo podré en cuanto pueda.

Y una pregunta informativa, los códigos se puede poner sin importar lo largo o lo corto que sean poner en el formulario principal o se tiene que poner cada parte en su evento.

Si tuviera que ir cada código en su evento existe alguna forma de poner todos los códigos de una aplicación en un sitio y que todo guncione bien?

Gracias

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #8 en: 17 de Febrero 2014, 23:16 »
Hola ALEX.
Instalé el código y me da este error (lo que está entre corchete).

Código: [Seleccionar]
DataGridView1[.Rows.Add(row)]

Y me dice el siguiente información.

No se controló InvalidOperationException

No se pueden agregar filas mediante programación a la colección de filas de DataGridView cuando el control está enlazado a datos.

Supongo que tu sabrás lo que significa esa información.

Espero que lo puedas solucionar, GRACIAS.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2051
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #9 en: 18 de Febrero 2014, 17:05 »
Hola, para eliminar ese mensaje tienes que pulsar sobre el objeto datagrid en la vista de diseño y en una pequeña flecha que aparece en la parte superior derecha desplegar el menú y elegir como opción "Elegir origen de datos: ninguno".

Sobre lo que preguntabas:

Y una pregunta informativa, los códigos se puede poner sin importar lo largo o lo corto que sean poner en el formulario principal o se tiene que poner cada parte en su evento.

Los códigos se deben organizar modularmente (es decir, separadamente cada código asociado a su evento e incluso los procedimientos que puedan identificarse como tareas unitarias deben estar separadas).

Para entender cómo organizar el código: curso Bases de la programación nivel II, https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=36&Itemid=60

Para entender cómo organizar el código con Visual Basic: curso Visual Basic nivel I, https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Saludos.

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #10 en: 18 de Febrero 2014, 23:21 »
Sinto tener que darte la lata otra vez ALEX.

Haciendo lo que me dijistes los registros que tengo en la base de datos no salen en la DataGrid  y los registros nuevos no los guarda en la base de datos, solo los tengo a la vista en la DataGrid.

Gracias y espero tu solución.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2051
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #11 en: 20 de Febrero 2014, 08:26 »
Tienes que conectar la aplicación con la base de datos. El primer paso es hacer click sobre el menú "Ver(view)" y seleccionar "Otras ventanas - > Explorador de bases de datos". En el lateral izquierdo se te abrirá un panel que pone explorador de bases de datos, y desde ahí tienes que buscar la base de datos. Yo estoy haciéndolo con una base de datos de Microsfot Access. Ahora pulsa sobre el icono que pone "conectar con base de datos". En mi caso elijo origen de datos Archivo de datos de Microsoft Access y le doy a continuar, luego donde pide nombre del archivo de la base de datos pulso examinar y busco el archivo. Si tuviera nombre de usuario y contraseña hay que meterla, y luego pulsar probar conexión y comprobar que ponga "La conexión de prueba se realizó correctamente" y pulsar aceptar.

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #12 en: 20 de Febrero 2014, 23:59 »
Hola ALEX. Haciendo como dices tengo que decirte que en Visual Studio 2010 que tengo en el menu  VER y en OTRAS VENTANAS no sale ninguna opción que diga "Explorador de Bases de Datos.
de Hecho no sale nada que mencione Bases de Datos.

ya me diras si en este Visual Studio 2010 es otra opción.

Gracias

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2051
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #13 en: 22 de Febrero 2014, 09:56 »
¿Qué versión de Visual Studio tienes?

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #14 en: 22 de Febrero 2014, 12:08 »
La Versión es: 10.0.30319.1RTMRel

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #15 en: 22 de Febrero 2014, 14:37 »
La Versión es: 10.0.30319.1RTMRel

He cambiado algun código y quitado el que daba error y ahora introduzco datos en el DataGrid, cierro la aplicación y la abro y todavia tengo los datos en la DataGrid pero si cierro Visual Studio ya no los tengo porque no los graba en la base de datos.
Aqui te dejo los códigos por si vieras algo que falte para grabarlos en la base de datos.
Un saludo, Ya me diras algo.

Código: [Seleccionar]
Imports System.Data.SqlClient
Publi.Class Form2
        Dim row(4) As String
        Private Property Queryable As String

        Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'TODO: esta línea de código carga datos en la tabla 'Database2DataSet.BARCINO' Puede moverla o quitarla según sea necesario.
            Me.BARCINOTableAdapter.Fill(Me.Database2DataSet.BARCINO)
        Button2.Text = "Salir"
        Button1.Text = "Guardar"
            DataGridView1.ColumnCount = 4
            DataGridView1.Columns(0).Name = "Fabricante"
            DataGridView1.Columns(1).Name = "Modelo"
            DataGridView1.Columns(2).Name = "Denominacion del Recambio"
            DataGridView1.Columns(3).Name = "Referencia"
        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click     
        End
        Form1.Show()
        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        BARCINOBindingSource.AddNew()
            BARCINOBindingSource.Current("fabricante") = TextBox4.Text
            BARCINOBindingSource.Current("modelo") = TextBox3.Text
            BARCINOBindingSource.Current("denominacion del recambio") = TextBox2.Text
            BARCINOBindingSource.Current("referencia") = TextBox1.Text
        TextBox4.Text = ""
        TextBox3.Text = ""
        TextBox2.Text = ""
        TextBox1.Text = ""
        Me.Validate()
            BARCINOBindingSource.EndEdit()
        BARCINOTableAdapter.Update(Database2DataSet.BARCINO)
        End Sub

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2051
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #16 en: 28 de Febrero 2014, 10:43 »
Si no te aparece la opción de otras ventanas - > Explorador de base de datos, he estado viendo que hay un atajo de teclado para que se muestre el explorador de bases de datos: Ctrl + Alt + S

Pulsa Ctrl + Alt + S (al mismo tiempo las teclas Ctrl, Alt y S para ver si se muestra el explorador de bases de datos.

fezaca

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re:Como guarder datos en DataGridView en Visual Studio 2010
« Respuesta #17 en: 28 de Febrero 2014, 13:41 »
Ok. Lo miraré cuando llegue a casa.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".