lunes, 7 de noviembre de 2016

Práctica 16. C# con Access. Sistema de registro de alumnos


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Práctica_16
{
    public partial class Form1 : Form
    {
        Database DB = new Database();
        String sql;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            DB.IniciarConexion("../../prueba.mdb");
            // Crear el miembro de datos del Data
            dataGridView1.DataMember = "alumnos";
        }

        private Alumnos asig_alum_text()
        {
            string ncta, nombre, apellidop, apellidom;
            int edad = 0, semestre;
            ncta = txtCuenta.Text;
            nombre = txtNombre.Text;
            apellidop = txtAp.Text;
            apellidom = txtAm.Text;
            try
            {
                edad = Convert.ToInt32(txtEdad.Text);
            }
            catch
            {
                //Ejemplo de validación
                MessageBox.Show("Ingrese un valo numérico");
                txtEdad.Focus();
                txtEdad.SelectionStart = 0;
                txtEdad.SelectionLength = txtEdad.TextLength;
            }
            semestre = Convert.ToInt32(txtSemestre.Text);
            Alumnos A = new Alumnos(ncta, nombre, apellidop, apellidom, edad, semestre);
            return A;
        }

        private void btnInsertar_Click(object sender, EventArgs e)
        {
            Alumnos a = asig_alum_text();
            sql = "INSERT INTO alumnos (ncuenta, nombre, apellidop, apellidom, edad, semestre)";
            sql += " VALUES ('" + a.ncuenta +"'" + ", '" + a.nombre + "','" + a.apellidop + "'";
            sql += ",'" + a.apellidom + "', '" + a.edad + "', '" + a.semestre + "')";
            int insert=DB.ejecutar_sql(sql);
            if (insert == 1) // Si se logro la inserción limpiar el formulario
            {
                MessageBox.Show ("Se insertaron correctamente sus datos");
                //foreach (Control txt in this.Controls)
                //{
                 //   if (txt.GetType() == typeof(TextBox))
                  //      txt.Text = "";
               // }
                txtCuenta.Clear();
                txtNombre.Clear();
                txtAp.Clear();
                txtAm.Clear();
                txtEdad.Clear();
                txtSemestre.Clear();
            }
            else
                MessageBox.Show("Hubo un error al insertar los datos");
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            sql =  "SELECT * FROM  Alumnos WHERE ncuenta= '" + textBox1.Text + "'";
            // Poner los datos al dataGridView
            dataGridView1.DataSource = DB.consultar(sql, "alumnos");
                
        }

        private void modificarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            btnActualizar.Enabled = true;
            // Para modificar los datos del alumnos
            int renglon = dataGridView1.CurrentCell.RowIndex;
            int ncuenta = Convert.ToInt32(dataGridView1[0,renglon].Value.ToString());
            if (ncuenta != - 1)
            {
                txtCuenta.Text=dataGridView1[0, renglon].Value.ToString();
                txtNombre.Text = dataGridView1[1, renglon].Value.ToString();
                txtAp.Text = dataGridView1[2, renglon].Value.ToString();
                txtAm.Text = dataGridView1[3, renglon].Value.ToString();
                txtEdad.Text = dataGridView1[4, renglon].Value.ToString();
                txtSemestre.Text = dataGridView1[5, renglon].Value.ToString();
            }
        }

        private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Para eliminar un alumno
            int renglon = dataGridView1.CurrentCell.RowIndex;
            int ncuenta = Convert.ToInt32(dataGridView1[0,renglon].Value.ToString());
            if (ncuenta != -1)
            {
                if (MessageBox.Show("Esta seguro que desea eliminar los datos del alumno " + dataGridView1[1, renglon].Value.ToString(),
                    "Eliminar registro", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    DB.ejecutar_sql("DELETE FROM alumnos WHERE ncuenta='"+ncuenta+"'");
                dataGridView1.Rows.RemoveAt(renglon);
                textBox1.Text = "";
            }
        }

        private void btnActualizar_Click(object sender, EventArgs e)
        {
            Alumnos a = asig_alum_text();
            sql = "UPDATE alumnos SET nombre= '" + a.nombre + "',";
            sql += "apellidop='"  + a.apellidop + "', apellidom='" + a.apellidom + "',";
            sql += "edad='" + a.edad + "', semestre='"+ a.semestre + "'";
            sql += " WHERE ncuenta='" + a.ncuenta + "'";
            int update = DB.ejecutar_sql(sql);
            if (update == 1) // Si se logro la inserción limpiar el formulario
            {
                MessageBox.Show("Se actulizaron correctamente sus datos");
                //foreach (Control txt in this.Controls)
                //{
                //   if (txt.GetType() == typeof(TextBox))
                //      txt.Text = "";
                // }
                txtCuenta.Clear();
                txtNombre.Clear();
                txtAp.Clear();
                txtAm.Clear();
                txtEdad.Clear();
                txtSemestre.Clear();
            }
            else
                MessageBox.Show("Hubo un error al actulizar los datos");
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Práctica_16
{
    class Alumnos
    {
        public string ncuenta;
        public string nombre;
        public string apellidop;
        public string apellidom;
        public int edad;
        public int semestre;

        public Alumnos(string ncuenta, string nombre, string apellidop, string apellidom, int edad, int semestre)
        {
            this.ncuenta = ncuenta;
            this.nombre = nombre;
            this.apellidop = apellidop;
            this.apellidom = apellidom;
            this.edad = edad;
            this.semestre = semestre;
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;


namespace Práctica_16
{
    class Database
    {
        private string StrConexion;
        private OleDbConnection Conexion;
        private OleDbDataAdapter Adapter;
        private DataSet miDataSet = new DataSet();

        public void IniciarConexion(string DataBase)
        {
            // Crear la cadena de conexión para Office 2010
            StrConexion = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + DataBase;
            // Obejeto conexión
            Conexion = new OleDbConnection(StrConexion);
        }

        public int ejecutar_sql(string sql)
        {
            // Inserta en la BD
            int i = 0;
            try
            {
                i = 0;
                Conexion.Open();
                OleDbCommand cmb = new OleDbCommand(sql, Conexion);
                i = cmb.ExecuteNonQuery();
            }
            catch
            {
                i = -1;
            }
            return i;
        }
        public DataTable consultar(string sql, string tabla)
        {
            Adapter = new OleDbDataAdapter(sql, Conexion);
            // Crear el Data Table
            DataTable dt = new DataTable();
            // Rellenar el adaptador con los datos en memoria
            Adapter.Fill(dt);
            return dt;
        }
    }
}


No hay comentarios:

Publicar un comentario