insertar datos en mysql c#

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. 

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. 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
  4. 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
  5. 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