Objetivo:
Diseñar una aplicación en C# que vincule con una base de datos de Access (con las tablas alumnos y calificaciones relacionadas).
La aplicación deberá insertar, consultar, actualizar y eliminar registros en la base de datos de Access.
Código:
namespace Practica_16
{
class Alumnos
{
public string ncuenta;
public string Nombre;
public string Apellidop;
public string Apellidom;
public int Edad;
public int Semestre;
public Alumnos()
{
}
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;
}
}
}
namespace Practica_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 conexion para Office 2010
StrConexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DataBase;
//Objeto conexion
Conexion = new OleDbConnection(StrConexion);
}
public int ejecutar_sql(string sql)
{
//insertar en la BD
int i = 0;
try
{
Conexion.Open();
OleDbCommand cmd = new OleDbCommand(sql, Conexion);
i = cmd.ExecuteNonQuery();
}
catch
{
i = -1;
}
return i;
}
public DataTable consultar(string sql, string tabla)
{
Adapter = new OleDbDataAdapter(sql, Conexion);
//crear data table
DataTable dt = new DataTable();
//rellenar el adaptador con los datos en memoria
Adapter.Fill(dt);
return dt;
}
}
}
namespace Practica_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 DataGridView
dataGridView1.DataMember = "Alumnos";
}
private Alumnos asig_alum_text()
{
string ncuenta, Nombre, Apellidop, Apellidom;
int edad = 0, semestre;
ncuenta = txtCuenta.Text;
Nombre = txtNombre.Text;
Apellidop = txtApellidoP.Text;
Apellidom=txtApellidoM.Text;
try
{
edad = Convert.ToInt32(txtEdad.Text);
}
catch
{
MessageBox.Show("Ingrese un valor numerico");
txtEdad.Focus();
txtEdad.SelectionStart = 0;
txtEdad.SelectionLength = txtEdad.TextLength;
}
semestre = Convert.ToInt32(txtSemestre.Text);
Alumnos A = new Alumnos(ncuenta, Nombre, Apellidop, Apellidom, semestre, edad);
return A;
}
private void btnInsertar_Click(object sender, EventArgs e)
{
Alumnos a = asig_alum_text();
sql = "INSERT INTO Alumnos (ncuenta,Nombre,Apellidop,Apellidom,Semestre,Edad)";
sql+= " VALUES('" + a.ncuenta+"'"+",'"+a.Nombre+"','"+a.Apellidop+"','"+a.Apellidom+"','"+
a.Semestre+"','"+a.Edad+"')";
int insert = DB.ejecutar_sql(sql);
if (insert == 1) //si logro la insercion limpio el formulario
{
MessageBox.Show("Se insertaron correctamente sus datos");
/*foreach (Control txt in this.Controls)
{
if (txt.GetType() == typeof(TextBox))
txt.Text = "";
}*/
txtCuenta.Text = "";
txtNombre.Text = "";
txtApellidoM.Text = "";
txtApellidoP.Text = "";
txtEdad.Text = "";
txtSemestre.Text = "";
}
else
{
MessageBox.Show("Hubo un error al insertar los datos");
}
}
private void btnBuscar_Click(object sender, EventArgs e)
{
sql = "SELECT * FROM Alumnos WHERE ncuenta='" + txtNcuenta.Text + "'";
// Poner los datos al DataGridView
dataGridView1.DataSource = DB.consultar(sql, "alumnos");
}
private void modificarToolStripMenuItem_Click(object sender, EventArgs e)
{
//Para modificar los datos del alumno
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();
txtApellidoP.Text = dataGridView1[2, renglon].Value.ToString();
txtApellidoM.Text = dataGridView1[3, renglon].Value.ToString();
txtEdad.Text = dataGridView1[4, renglon].Value.ToString();
txtSemestre.Text = dataGridView1[5, renglon].Value.ToString();
btnActualizar.Enabled = true;
}
}
private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
{
//Para eliminar un registro
int renglon = dataGridView1.CurrentCell.RowIndex;
int ncuenta = Convert.ToInt32(dataGridView1[0, renglon].Value.ToString());
if (ncuenta != -1)
{
if (MessageBox.Show("¿Está seguro que desea eliminar al 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);
txtNcuenta.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 + "',";
sql += "Apellidom='" + a.Apellidom + "',";
sql += "Edad='" + a.Edad + "',";
sql+="Semestre='"+a.Semestre+"'";
sql+="WHERE ncuenta='"+a.ncuenta+"'";
int update = DB.ejecutar_sql(sql);
if (update == 1)
{
MessageBox.Show("Se actualizaron correctamente los datos");
txtCuenta.Text = "";
txtNombre.Text = "";
txtApellidoM.Text = "";
txtApellidoP.Text = "";
txtEdad.Text = "";
txtSemestre.Text = "";
}
else
{
MessageBox.Show("Hubo un error al insertar los datos");
}
}
}
}
No hay comentarios:
Publicar un comentario