Indice del Articulo
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.
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:
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:
Enlace del Tutorial: https://www.youtube.com/watch?v=vPXZ4dIu9vM
Siguiente articulo: Eliminar Registros en Base de Datos MySql con C#
Siguiente articulo: Eliminar Registros en Base de Datos MySql con C#
Todos los Artículos:
como que daría la propiedad clienteActual me sale error cuando la creo
Ya lo resolví amigo muchas gracias..! Me gustaría ver el 4 vídeo el de eliminar lo estoy intentando hacer
Que bien bro! aun no he podido publicar el video de este articulo, pero lo hare en un par de dias junto con la parte 4
Como resolvistes lo de ClienteActual ¿?
yo tambienquiero saber como resolvió lo del ClienteActual.. a mi también me genera un error.. dice que no existe en el contexto actual, lo tengo que declarar??
Compa y el post siguiente cuando lo presentas?? y estan muy bien explicados (y)
Ya puedes revisar el video amigo!! para aclara tu duda
Ya esta publicado el tutorial y puede guiarse ahi 😉
Esta semana que viene espero poder hacerlo.. saludos!
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
PERFECTO!! gracias 😛
Mmm en el código del if deberías abrir el otro form, si dices qe es uno diferente!
Y los datos tendrías que pasar al form qe habras
Cual es la parte 2 porque de la parte 1 de pasas a la parte 3 o no hay parte 2?
gracias frank m ayudaste muchisimo
Buen post, pero no puedo encontrar el tutorial de la parte 2, el link de la parte 1 me envio aca…si me lo puedes dar gracias
Amigo tenia la misma duda pero la encontre te dejo el link
http://franklintutoriales.blogspot.com/2013/08/insertar-modificar-eliminar-y-consultar.html
lo encontre gracias
Muchas gracias por el tutorial, muy bueno.
Muy bueno excelente tutorial felecidades
amigo podrias ayudar con el codigo ya que ese link no se puede descargar muchas gracias
LA CUARTA PARTE PORFAAAA GRACIAS A TI TERMINARE MI CARRERA