Posted by : ghel jueves, 3 de julio de 2014

Aplicación Agenda - Parte 2.

Ya hemos visto la forma de dar mantenimiento a una tabla, ahora haremos lo mismo con la tabla tPersona, la diferencia esta en que ahora usaremos un objeto el cual facilitará el trabajo y optimizará nuestro código.

La clase consta de dos atributos, uno es la cadena de conexión y la otra es una variable de tipo texto para obtener los mensajes de validez o error del comando. La clase tiene dos métodos, uno llamado EjecutarComando para ejecutar ordenes que no sean consultas, es decir, ordenes insert, update, delete, etc.
el otro método se llama EjecutarConsulta que lo usaremos para cualquier orden que devuelva datos de tipo consulta, es decir, que da resultados con select.

El código es el siguiente:

    public class CDatos
    {
        string cadenaDeConexion = @"Data Source=(local);Initial Catalog=bdAgenda;Integrated Security=True";

        public string Mensaje;

        public bool EjecutarComando(string textoSql)
        {
            try
            {
                //Para la cadena de conexión
                string sCnn = cadenaDeConexion;
                //Creamos la conexión
                SqlConnection cnn = new SqlConnection(sCnn);
                //Texto del comando insert
                string iTexto = textoSql;
                //Creamos el comando con su texto y conexión
                SqlCommand cmd = new SqlCommand(iTexto, cnn);
                cmd.CommandType = CommandType.Text;
                //abrimos la conexión y ejecutamos el comando
                cnn.Open();
                //Ejecutamos el comando sql
                cmd.ExecuteNonQuery();
                //Cerramos la conexión
                cnn.Close();
                //Agregamos el Mensaje de Correcto
                Mensaje = "0: Comando realizado con éxito...";
                return true;
            }
            catch
            {
                Mensaje = "0: Error en Conexión con la base de datos o el comando de SqlServer";
                return false;
            }
        }

        public DataTable EjecutarConsulta(string textoSQL)
        {
            try
            {
                //Creamos la cadena de conexion
                string sCnn = cadenaDeConexion;
                //Creamo el comando de sql para listar
                string sSel = textoSQL;
                //Creamos el adaptador que capturara los datos
                SqlDataAdapter da = new SqlDataAdapter(sSel, sCnn);
                //Creamos un data table que contendra los datos
                DataTable dt = new DataTable();
                //Llenamos el data table con el adaptador
                da.Fill(dt);
                //Colocando Mensaje
                Mensaje = "0: Consulta realizada con éxito...";
                return dt;
            }
            catch
            {
                Mensaje = "0: Error en Conexión o Consulta de SqlServer...";
                return null;
            }
        }
    }

Requerimientos de la Aplicación



Diseño y Codificación de la Aplicación


Codificación de los Botones y el Formulario frmPersona

        private void FrmPersona_Load(object sender, EventArgs e)
        {
            //Crear el objeto
            CDatos oDa = new CDatos();
            //Crear la tabla de datos
            DataTable oTabla = new DataTable();
            //Ejecutar el comando
            oTabla = oDa.EjecutarConsulta("select * from ttipo");
            //Asignar la tabla al combo
            cboTipo.DataSource = oTabla;
            //Indicar los elementos visibles
            cboTipo.DisplayMember = oTabla.Columns[1].Caption.ToString();
            //Indicar los valores usables del combo
            cboTipo.ValueMember = oTabla.Columns[0].Caption.ToString();
        }

        private void btnInsertar_Click(object sender, EventArgs e)
        {
            try
            {
                //Crear el objeto
                CDatos oDa = new CDatos();
                //Creando el comando insert
                string textoSQL = "insert into tPersona values('" + txtNombre.Text + "', '" + cboSexo.SelectedItem.ToString() + "', '" + txtDireccion.Text + "', '" + txtTelefono.Text + "','" + txtEmail.Text + "','" + txtObservacion.Text + "','" + cboTipo.SelectedValue.ToString() + "')";
                //Ejecutando el comando
                oDa.EjecutarComando(textoSQL);
                //Mostrando mensaje
                MessageBox.Show(oDa.Mensaje);
            }
            catch 
            {
                MessageBox.Show("Los datos no estan completos...");
            }
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            //Crear el objeto
            CDatos oDa = new CDatos();
            //Creando el comando delete
            string textoSQL = "delete from tPersona where idPersona = " + txtIdPersona.Text + "";
            //Ejecutando el comando
            oDa.EjecutarComando(textoSQL);
            //Mostrando mensaje
            MessageBox.Show(oDa.Mensaje);

        }

        private void btnModificar_Click(object sender, EventArgs e)
        {
            try
            {
                //Crear el objeto
                CDatos oDa = new CDatos();
                //Creando el comando delete
                string textoSQL = "update tPersona set nombreapellido = '" + txtNombre.Text + "', sexo='" + cboSexo.SelectedItem.ToString() + "', direccion='" + txtDireccion.Text + "',telefono='" + txtTelefono.Text + "',email='" + txtEmail.Text + "',observacion='" + txtObservacion.Text + "', fkTipo='" + cboTipo.SelectedValue.ToString() + "' where idPersona=" + txtIdPersona.Text + "";
                //Ejecutando el comando
                oDa.EjecutarComando(textoSQL);
                //Mostrando mensaje
                MessageBox.Show(oDa.Mensaje);
            }
            catch
            {
                MessageBox.Show("Los datos no estan completos...");
            }
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            //Crear el objeto
            CDatos oDa = new CDatos();
            //Crear la tabla de datos
            DataTable oTabla = new DataTable();
            //La consulta en SQL
            string textoSQL = "select * from tpersona where idpersona="+txtIdPersona.Text+"";
            //Ejecutar la consulta
            oTabla = oDa.EjecutarConsulta(textoSQL);
            //Extraer datos del data table a los controles del formulario
            if (oTabla != null && oTabla.Rows.Count > 0)
            {
                txtNombre.Text = oTabla.Rows[0][1].ToString();
                cboSexo.SelectedItem = oTabla.Rows[0][2].ToString();
                txtDireccion.Text = oTabla.Rows[0][3].ToString();
                txtTelefono.Text = oTabla.Rows[0][4].ToString();
                txtEmail.Text = oTabla.Rows[0][5].ToString();
                txtObservacion.Text = oTabla.Rows[0][6].ToString();
                cboTipo.SelectedValue = oTabla.Rows[0][7].ToString();
            }
            else 
            {
                txtNombre.Text = "";
                cboSexo.SelectedItem = "";
                txtDireccion.Text = "";
                txtTelefono.Text = "";
                txtEmail.Text = "";
                txtObservacion.Text = "";
                cboTipo.SelectedValue = "";
                MessageBox.Show("No existe este código...");
            }
        }

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Bienvenido a mi Blog

ZONA DE TRABAJO

DOCUMENTOS
...............................................
Archivos Compartidos
...............................................
Elementos Gráficos
...............................................
Video y Captura de Pantalla

Angel

Contenidos Populares

About

Angel Moreano Terrazas.