none
Eliminar un registro de un GridView y base de datos SQL. C# RRS feed

  • Pregunta

  • Cómo podría eliminar registros que el usuario seleccione en un GridView por medio de un botón externo, pero que  también se eliminen los registros de la Base de datos? 


    Elizabeth Tapia

    miércoles, 27 de junio de 2018 16:57

Respuestas

Todas las respuestas

  • Hola Elizabeth X.

    No entiendo mucho lo de un botón externo, pero de la misma forma.

    Agregas tu botón Eliminar, en tu código de trasfondo creas un método para realizar la eliminación.

    public void consulta(){
    conexion.close();
    conexion.open();
    
    datatable t = new Datatable ();
    
    string query = @" #tuConsulta ";
    
    mysqlcommand cmd = new mysqlcommand (query, conexion)
    
    mysqldataadapter ad = new mysqldataadapter (cmd);
    
    ad.Fill(t);
    
    nombGrid.datasource = t ;
    
    nombGrid.databind();
    
    conexion.Close();
    
    }

    Ya solo en tu botón Eliminar, mandas llamar el método.

    Espero haberte entendido.

    miércoles, 27 de junio de 2018 17:54
  • hola

    Para realizar esto la seleccion deberas realizarla usando un checkbox como medio de seleccion del gridview

    de esta foma marcas uno o mas row del grid y con un boton externo tomasesta selecion y procedes a ejecutar los DELETE en la db

    al final solo queda recargar el grid

    Delete Records From Gridview Using CheckBox in ASP.Net

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    miércoles, 27 de junio de 2018 18:03
  • Hola, Leandro. 

    Ya se que eh marcado como respuesta, pero tengo una duda en cuanto al ejemplo que me has proporcionado, pues no me marca ningún error, si no que no me elimina nada cuando presiono el botón. Simplemente se vuelven a desmarcar las filas.

      protected void DeleteRecord(int noventa)
        {
            OdbcConnection cn = new OdbcConnection("Dsn=Conexion server;uid=sa;pwd=alimentaria");
            OdbcCommand com = new OdbcCommand("Delete FROM SVenta Where NoVenta = ? ", cn);
            com.Parameters.AddWithValue("codigo", noventa);
            cn.Open();
            com.ExecuteNonQuery();
            cn.Close();
        }
    
        protected void Guardar_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow grow in GRILLA.Rows)
            {
                CheckBox chkdel = (CheckBox)grow.FindControl("chkDel");
                if (chkdel.Checked)
                {
                    int noventa = Convert.ToInt32(grow.Cells[2].Text);
                    DeleteRecord(noventa);
    
                }
            }
            MostrarGrid();
    
        }


    Elizabeth Tapia

    jueves, 28 de junio de 2018 14:56