none
datagridview RRS feed

  • Pregunta

  • hola a todos estoy desarrollando una aplicacion para un almacen y en vez de trabajar e ingresar los datos a la base de datos desde un formulario con todos sus TexBox y Label mejor he decido escribir directamente los datos en el datagridview  la verdad he leido mucho pero no he encontrado un ejemplo concreto de como escribir y que me lo guarde directamente el  la base de datos

    de antemano les agredeceria su ayuda

    • Cambiado Enrique M. Montejo martes, 23 de septiembre de 2014 16:34 Pregunta relacionada con el acceso a datos.
    lunes, 22 de septiembre de 2014 15:25

Todas las respuestas

  • Hola qué tal.

    Un pequeñísimo ejemplo. Espero que te pueda ayudar a tener una idea más clara de como ingresar datos desde un datagridview. Vamos primero con el código sql:

    create database ejemploDGV

    go

    create table tb_producto
      ( idproducto int identity(1,1)primary key not null,
    nom varchar(100),
    [des] varchar(200),
    prec decimal(8,2) )
    go

    código visual.NET (csharp/c#) : 

    Agregramos un DataGridView a nuestro windows Form:

     Ahora, agregamos las columnas que tenemos en nuestra tabla "tb_producto"

    (menos la columna identity que se autogenera):

    Vamos con el código en .NET :

    namespace DatagridView
    {
        public partial class Productos : Form
        {
            #region methods
            private void grabar_desde_DataGridView()
            {
                miSqlConnection objcon = new miSqlConnection();
                try
                {
                    for (int fila = 0; fila < dgvProductos.Rows.Count-1; fila++)
                    {
                        string sqlinserta = "INSERT INTO tb_producto(nom,des,prec)VALUES('" + this.dgvProductos.Rows[fila].Cells[0].Value + "','" 
    + this.dgvProductos.Rows[fila].Cells[1].Value + "','" 
    + Convert.ToDecimal(this.dgvProductos.Rows[fila].Cells[2].Value) + "')";
                        SqlDataAdapter da = new SqlDataAdapter();
                        da.SelectCommand = new SqlCommand();
                        da.SelectCommand.Connection = objcon.cn;
                        da.SelectCommand.CommandType = CommandType.Text;
                        da.SelectCommand.CommandText = sqlinserta;
                        objcon.cn.Open();
                        da.SelectCommand.ExecuteNonQuery();
                        objcon.cn.Close();
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }  
            #endregion

            public Productos()
            {
                InitializeComponent();
            }

            private void dgvProductos_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == 13)//cuando presionemos ENTER se grabará los registros en la bd.
                {
                    grabar_desde_DataGridView();
                }
            }
        }
    }


    Después de ingresar el último precio, presionamos la tecla "ENTER" y hará el insert en la tabla de

    la Base de Datos.

    _____________________________________________________

    Saludos.

    Espero sirva aunque sea un poco.

    miércoles, 24 de septiembre de 2014 21:10