C# y Mysql

Actualizar – Modificar Datos en MySQL desde C#

Insertar, modificar, eliminar y consultar registros con C# y MySQL – Parte 3

 
Bienvenido/as a la parte tres de los tutoriales sobre C sharp y la Base de Datos MySQL, en esta serie de artículos y tutoriales estamos aprendiendo a Insertar, Modificar, Eliminar y Consultar datos desde C# en una tabla de MySql (Clientes), a esto también se le llama CRUD. En la parte anterior aprendimos a consultar registros en la tabla clientes, hasta ese momento logramos mostrar los datos del cliente en el datagridview, en dicho formulario seleccionábamos un cliente y pasábamos los datos al formulario “Administración de Clientes”, entonces ya teniendo los datos del cliente en el formulario de registro podremos hacer modificaciones a los datos por ejemplo el nombre y al darle en el botón actualizar nos debe modificar los datos en la Base de Datos.
 
Insertar modificar consultar y eliminar datos con C# y Mysql
Formulario Administración de Clientes
 

Modificar registros en Mysql desde C#

 
 
Para hacer un update en la Base de Datos lo primero que realizaremos sera agregar un nuevo método en la clase ClientesDAL que si recuerdas es la clase que utilizamos para interactuar con la Base de Datos, al método le nombraremos Actualizar y tendrá el siguiente código:
 
Public static int Actualizar(Cliente pCliente)
{
 int retorno = 0;
 
 MySqlConnection conexion = BdComun.ObtenerConexion();
 
MySqlCommand comando = new MySqlCommand(string.Format(“Update clientes set Nombre='{0}’, Apellido='{1}’, Fecha_Nacimiento='{2}’, Direccion='{3}’ where IdCliente={4}”, pCliente.Nombre, pCliente.Apellido, pCliente.Fecha_Nac, pCliente.Direccion, pCliente.Id), conexion);
 
retorno = comando.ExecuteNonQuery();
 
conexion.Close();
           
return retorno;
}
 
Lo siguiente que vamos hacer es agregar un propiedad nombrada clienteActual en la parte superior de la programación del formulario Clientes (Ver Tutorial). 
 
Y luego en la programación del botón Buscar añadimos la siguiente linea de código que muestro en la imagen siguiente:
 
CRUD C# y Mysql
 
Al asignarle a clienteActual lo que tiene buscar.ClienteSeleccionado, la propiedad clienteActual tendrá todos los datos del cliente seleccionado por el usuario en el datagridview,  incluyendo el Id que necesitamos para tomar como referencia y actualizar los registros en la Base de Datos.  
 
Por Ultimo programamos el botón Actualizar con el código siguiente:
 
Cliente pCliente = new Cliente();
 
pCliente.Nombre = txtNombre.Text.Trim();
pCliente.Apellido = txtApellido.Text.Trim();
pCliente.Fecha_Nac = dtpFechaNacimiento.Value.Year + “/” + dtpFechaNacimiento.Value.Month + “/” + dtpFechaNacimiento.Value.Day;
pCliente.Direccion = txtDireccion.Text.Trim();
pCliente.Id = ClienteActual.Id;
 
if (ClietesDAL.Actualizar(pCliente) > 0)
 {
MessageBox.Show(“Los datos del cliente se actualizaron”, “Datos Actualizados”, MessageBoxButtons.OK, MessageBoxIcon.Information);
 }
else
{
MessageBox.Show(“No se pudo actualizar”, “Error al Actualizar”, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

 

Tutorial para Actualizar datos en Mysql desde C#

Finalmente para aclarar dudas y demostrar que lo argumentado anteriormente es funcional, les comparto el tutorial de este articulo:

 
 

Todos los Artículos:


22 comentarios en “Actualizar – Modificar Datos en MySQL desde C#”

  1. Hola intente guiarme con tu ejemplo al visualizar la fila del datagridview, yo intento que aparezcan los datos en un nuevo formulario que no sea el mismo donde insertas, pero no logro que aparezca, de hecho cuando le das buscar no cierras al formulario, despues buscas y al aceptar lo cierras,
    lo que hago yo por hacerlo en otro form lo mando a llamar
    editarcliente editar = new editarcliente();
    editar.ShowDialog(this);

    if (dataGridView1.SelectedRows.Count == 1)
    {

    Int64 id = Convert.ToInt64(dataGridView1.CurrentRow.Cells[0].Value);
    clienteseleccionado = clienteabc.datoscliente(id);
    //this.Close();
    }
    else
    { MessageBox.Show("Selecciona un Cliente");}
    }

    no se cual se al eproblema

    Responder

Deja un comentario