Insertar, Modificar, Eliminar y Consultar REGISTROS en MySQL desde C#

Insertar, modificar, eliminar y consultar datos en MySQL y C# – Parte 1

Bienvenidos a un nuevo artículo relacionado a C# y la base de datos MySQL, anteriormente aprendimos a conectarnos a MySQL desde C# puedes ver Aquí el post, en esta ocasión aprenderemos  a insertar registros desde C# hacia la base de datos MySQL, pues ya teniendo listas las conexiones tenemos las condiciones para poder interactuar con la base de datos y realizar un CRUD (Create, Read, Update and Delete). 

En la programación en C# hemos creado una clase llamada BdComun esta a su vez contiene un método llamado ObtenerConexion el cual tiene la cadena de conexión, entonces ahora lo que vamos hacer sera crear un nueva clase llamada Cliente que básicamente en programación Orientada a Objetos representaría un objeto cliente, en este sentido debe tener datos relacionados al cliente, en esa clase debemos agregar los mismos campos que tenemos en la tabla Clientes de la base de datos en MySql.
 
Este seria el código de la clase Cliente que sera agregada en C#:
 
public class Cliente
    {
       public int Id { get; set; }
       public string Nombre { get; set; }
       public string Apellido { get; set; }
       public string Fecha_Nac { get; set; }
       public string Direccion { get; set; }
 
       public Cliente() { }
 
       public Cliente(int pId, string pNombre, string pApellido, string pFecha_Nac, string pDireccion)
 
       {
 
           this.Id = pId;
           this.Nombre = pNombre;
           this.Apellido = pApellido;
           this.Fecha_Nac = pFecha_Nac;
           this.Direccion = pDireccion;       
 
       }
    }
 
Como ven tiene cinco propiedades que son equivalentes a los cinco campos de la tabla, al igual tiene un constructor vació public Cliente() { } el cual se utiliza para crear los objetos ya que de esta forma no recibe parámetros y podemos invocarlo sin problemas, por otra parte tenemos otro constructor el cual tiene cinco parámetros, podemos interpretar que los parámetros nos servirán para enviar o trasportar los datos hacia las propiedades y posteriormente usarlo donde nosotros lo necesitemos.
 

Insertar datos en MySQL desde C#

 
Lo siguiente que haremos sera agregar un nueva clase ahora le llamaremos ClientesDAL esta clase tendrá métodos que nos ejecutaran comandos hacia MySQL los basicos: Insert, delete, update y select, por el momento vamos añadir el método agregar el cual insertara un cliente (registro) a la Base de Datos, la clase en C# quedaría así:

public class ClientesDAL
    {
       public static int Agregar(Cliente pCliente)
       {
       int retorno = 0;
MySqlCommand comando=new MySqlCommand(string.Format(«Insert into  clientes (Nombre, Apellido, Fecha_Nacimiento, Direccion) values          (‘{0}’,'{1}’,'{2}’, ‘{3}’)», pCliente.Nombre, pCliente.Apellido, pCliente.Fecha_Nac, pCliente.Direccion), BdComun.ObtnerCOnexion());
 
       retorno = comando.ExecuteNonQuery();
 
         return  retorno;
 
       }  
    }
 
Ya teniendo esto, nos dirigimos al formulario y programamos en el evento clic del botón Guardar, lo que se debe hacer es crear un cliente, es decir llenar sus respectivas propiedades y ejecutar el método agregar para que nos inserte el cliente. 
Leer mas  Eliminar Registros en MySQL desde C#

Insertar registro en MySql desde C#
Formulario diseñado en C#
 
El código que debemos agregar en el botón guardar (evento clic) sera el siguiente:
 
private void btnGuardar_Click(object sender, EventArgs e)
        {
 
            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();            
 
            int resultado = ClientesDAL.Agregar(pCliente);
 
            if (resultado > 0)
            {
               MessageBox.Show(«Cliente Guardado Con Exito!!», «Guardado», MessageBoxButtons.OK, MessageBoxIcon.Information);
 
            }
 
            else
 
            {
               MessageBox.Show(«No se pudo guardar el cliente», «Fallo!!», MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
 
            }
        }
 
De seguro surgen dudas, para que todo quede mas claro acá les dejo el vídeo explicativo, en el que implemento la programación:


Link del vídeowww.youtube.com/watch?v=IT_R46g7YTk (Dale Like)

Siguiente artículo: Consultar registros en MySQL desde C#

Todos los Artículos:

32 comentarios en «Insertar, Modificar, Eliminar y Consultar REGISTROS en MySQL desde C#»

  1. por que cuando ya tengo asignado el nombre del textboxluego.Text; y sale no se puede convertir en el el contexto actual de string a double por que ayudame!!!1 es cuando asigno los botones del from

    Responder
  2. hola que tal corro el programa pero tengo un error en la clase clientes dall, el error lo marca en el metodo agregar

    Error 1 Inconsistent accessibility: parameter type 'WindowsFormsApplication3.clientes' is less accessible than method 'WindowsFormsApplication3.clientesdal.Agregar(WindowsFormsApplication3.clientes)' c:usersmarcodocumentsvisual studio 2010ProjectsWindowsFormsApplication3WindowsFormsApplication3

    Responder
  3. que tal amigo.. muy buena explicacion… podrias hacer un ejemplo de como hacer un LOGIN conectado con mysql. seria de mucha ayuda.. te lo agradeceria muchisimo

    Responder
  4. Muchísimas gracias 😀 he estado buscando esto por 2 días, me ha funcionado de maravilla, gracias.

    Responder
  5. Hola, el blog me parece muy bueno. Los ejemplos estan super bien, quizas si explicaras un poco más el código( Logica) el blog seria excelente. Saludos desde Nicaragua.

    Responder
  6. Hola.
    Lo primero es darte las gracias por tus tutoriales, me están ayudando mucho.
    Y lo segundo, una pregunta:
    En el código del botón guardar ¿como pondríamos esta parte
    pCliente.Nombre = txtNombre.Text.Trim();
    si en lugar de un string estamos añadiendo un int?
    Un saludo.

    Responder
  7. Buenas Franklin me ha salido un error aqui
    retorno = comando.ExecuteNonQuery();
    Agradeceria mucho si pudieras ayudarme.

    Responder
  8. buenas frank, En el código del botón guardar ¿como pondríamos esta parte
    pCliente.Nombre = Int32.Parse(txtNombre.Text); que capture unos 10 o mas digitos (enteros).

    Responder
  9. buenos días frank, en el código del botón guardar me sale una excepción (Field 'Id' doesn't have a default value)

    Responder
  10. me dice "no se controlo mysql exepcion" en esta parte del codigo
    retorno = comando.ExecuteNonQuery();

    Responder
  11. Hola porque no puedo ingresar id del cliente frank saludos

    Responder
  12. Hola, la verdad me han parecido super interesantes tus tutoriales y queria preguntarte que si no tienes algun repositorio donde pueda ver todo el código

    Responder
  13. pCliente.Nombre = txtNombre.Text.Trim();
    en esta parte me sale un error, dice que "Text" no contiene una definicion, alguien me puede ayudar?

    Responder
  14. Este comentario ha sido eliminado por un administrador del blog.

    Responder
  15. Amigos, cualquier error en la linea: "retorno = comando.ExecuteNonQuery();"
    Se debe a problemas en ejecutar el código de Mysql, sugiero verificar el código sql y la parte de en la que enviamos los datos para insertar.
    Saludos

    Responder
      • Amigo te sugiero que revises la linea del insert, de seguro algun caracter este incorrecto.

        Responder
  16. Me esta dando un error en este punto:

    conectar.Open();

    Me indica el siguiente error: Excepción no controlada del tipo ‘MySql.Data.MySqlClient.MySqlException’ en MySql.Data.dll

    que puedo hacer para corregirlo

    Responder

Deja un comentario