public Contacto GetById(int id)
        {
            try
            {
                // Se declara el arreglo de parametros
                SqlParameter[] parameters = new SqlParameter[1];

                // Se inicializa cada uno de los valores de cada parametro.
                parameters[0] = new SqlParameter("@id_contacto", id);

                // Se indica el sp a utilizar
                string query = "sp_contactos_getbyid";

                // Si se retornan mas de una linea quiere decir que se inserto, es decir, exito!
                DataTable resultado = conexion.Query(query, parameters);

                if (resultado.Rows.Count > 0)
                {
                    var mensaje = resultado.Rows[0]["Tipo Contacto"];

                    // Se crea un objeto tipo contacto
                    Contacto contacto = new Contacto()
                    {
                        id_contacto      = (int)resultado.Rows[0]["id_contacto"],
                        nombre           = (string)resultado.Rows[0]["nombre"],
                        telefono_fijo    = (string)resultado.Rows[0]["Telefono Fijo"],
                        telefono_movil   = (string)resultado.Rows[0]["Telefono Movil"],
                        tipo_contacto    = Convert.ToChar(resultado.Rows[0]["Tipo Contacto"]),
                        sexo             = Convert.ToChar(resultado.Rows[0]["Sexo"]),
                        fecha_nacimiento = (DateTime)resultado.Rows[0]["Fecha de Nacimiento"],
                        estado_civil     = Convert.ToChar(resultado.Rows[0]["Estado Civil"])
                    };

                    // Se retorna el objeto
                    return(contacto);
                }

                // Se retorna por protocolo, pues no deberia llegar hasta aca.
                return(null);
            }
            catch (Exception ex)
            {
                // Excepcion
                throw new ApplicationException(ex.Message);
            }
        }
        // Constructor para editar Contacto
        public ContactoForm(int id)
        {
            InitializeComponent();

            // Inicializar comboBox de Tipo Contacto
            cbTipoContacto.DataSource    = new BindingSource(transacciones.tipoContacto, null);
            cbTipoContacto.DisplayMember = "Value";
            cbTipoContacto.ValueMember   = "Key";


            // Inicializar comboBox de sexo
            cbSexo.DataSource    = new BindingSource(transacciones.sexo, null);
            cbSexo.DisplayMember = "Value";
            cbSexo.ValueMember   = "Key";

            // Inicializar comboBox de Estado Civil
            cbEstado.DataSource    = new BindingSource(transacciones.estadoCivil, null);
            cbEstado.DisplayMember = "Value";
            cbEstado.ValueMember   = "Key";


            Contacto contacto = transacciones.GetById(id);

            // Inicializar valores en el formulario
            txtNombre.Text               = contacto.nombre;
            cbEstado.SelectedValue       = contacto.estado_civil;
            cbTipoContacto.SelectedValue = contacto.tipo_contacto;
            txtTFijo.Text          = contacto.telefono_fijo;
            txtTMovil.Text         = contacto.telefono_movil;
            cbSexo.SelectedValue   = contacto.sexo;
            cbEstado.SelectedValue = contacto.estado_civil;

            // No mostrar el boton añadir.
            btnAñadir.Visible = false;

            // Inicializar id
            this.id = id;
        }
        public bool Update(Contacto contacto)
        {
            try
            {
                // Se declara el arreglo de parametros
                SqlParameter[] parameters = new SqlParameter[8];

                // Se inicializa cada uno de los valores de cada parametro.
                parameters[0] = new SqlParameter("@nombre", contacto.nombre);
                parameters[1] = new SqlParameter("@estado_civil", contacto.estado_civil);
                parameters[2] = new SqlParameter("@fecha_nacimiento", contacto.fecha_nacimiento);
                parameters[3] = new SqlParameter("@sexo", contacto.sexo);
                parameters[4] = new SqlParameter("@telefono_fijo", contacto.telefono_fijo);
                parameters[5] = new SqlParameter("@telefono_movil", contacto.telefono_movil);
                parameters[6] = new SqlParameter("@tipo_contacto", contacto.tipo_contacto);
                parameters[7] = new SqlParameter("@id_contacto", contacto.id_contacto);


                // Se indica el sp a utilizar
                string query = "sp_contactos_update";

                // Si se retornan mas de una linea quiere decir que se actualizo, es decir, exito!
                if (conexion.Execute(query, parameters) > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                // Excepcion
                throw new ApplicationException(ex.Message);
            }
        }